@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";.bounceCardsContainer{position:relative;display:flex;justify-content:center;align-items:center;width:400px;height:400px;margin:2rem auto}.bounce-card{position:absolute;width:200px;aspect-ratio:1;border:3px solid rgba(255,255,255,.3);border-radius:20px;overflow:hidden;box-shadow:0 8px 32px #0006;cursor:pointer;transition:border-color .3s ease;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bounce-card:hover{border-color:#6366f199;z-index:10}.bounce-card.active{border-color:#6366f1cc;box-shadow:0 0 30px #6366f180}.bounce-card-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;text-align:center}.bounce-card-title{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:.75rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bounce-card-grade{display:flex;flex-direction:column;align-items:center;gap:.25rem}.bounce-card-grade .grade-letter{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bounce-card-grade .grade-percent{font-size:1rem;color:#fffc;font-weight:500}@media (max-width: 768px){.bounceCardsContainer{width:100%;max-width:350px;height:350px}.bounce-card{width:160px}.bounce-card-title{font-size:.8rem}.bounce-card-grade .grade-letter{font-size:2rem}.bounce-card-grade .grade-percent{font-size:.9rem}}.container{max-width:1200px;margin:0 auto;padding:2rem}@media (max-width: 768px){.container{padding:1rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}html,body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-text-size-adjust:100%}}.header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.header h1{flex:1;font-size:2rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.back-btn,.logout-btn,.manage-courses-btn,.toggle-cards-btn{padding:.5rem 1rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;cursor:pointer;font-size:.9rem;color:#fff;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.back-btn:hover,.logout-btn:hover,.manage-courses-btn:hover,.toggle-cards-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.toggle-cards-btn.active{background:rgba(99,102,241,.2);border-color:#6366f180}.toggle-cards-btn.active:hover{background:rgba(99,102,241,.3);border-color:#6366f199}.login-card{max-width:500px;margin:4rem auto;padding:2.5rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 8px 32px #0000004d}@media (max-width: 768px){.login-card{margin:2rem 1rem;padding:2rem;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2)}.login-card input{font-size:16px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3)}.login-card input:focus{background:rgba(255,255,255,.2);border-color:#6366f199}body{background:#000000!important;background-image:linear-gradient(135deg,#000000 0%,#1a1a1a 50%,#0a0a0a 100%)!important}}.login-card h1{margin-bottom:1.5rem;color:#fff;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.3)}.instructions{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.1)}.instructions p{margin-bottom:.5rem;font-weight:600;color:#fff}.instructions ol{margin-left:1.5rem;line-height:1.6;color:#ffffffe6}.login-card form{display:flex;flex-direction:column;gap:1rem}.login-card input{padding:.75rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;color:#fff;transition:all .3s ease}.login-card input::placeholder{color:#ffffff80}.login-card input:focus{outline:none;border-color:#6366f180;background:rgba(255,255,255,.15);box-shadow:0 0 20px #6366f14d}.login-card button{padding:.75rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.login-card button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.login-card button:disabled{opacity:.6;cursor:not-allowed}.progress-container{margin-top:1.5rem;animation:fadeIn .3s ease}.progress-bar{width:100%;height:8px;background:rgba(255,255,255,.1);border-radius:10px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);border-radius:10px;transition:width .5s ease-out;box-shadow:0 0 10px #667eea80}.progress-text{margin-top:.75rem;text-align:center;color:#fffc;font-size:.9rem;font-weight:500}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media (max-width: 768px){.courses-grid{grid-template-columns:1fr;gap:1rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}.course-card{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d;cursor:pointer;transition:all .3s ease;min-height:140px}@media (max-width: 768px){.course-card{padding:1.5rem;min-height:120px;cursor:pointer!important;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation}.course-card:active{cursor:pointer!important}}.course-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #0006;background:rgba(255,255,255,.08);border-color:#6366f14d}.course-card h3{margin-bottom:1rem;color:#fff;font-size:1.25rem;font-weight:600}.grade{display:flex;justify-content:space-between;align-items:center}.grade-letter{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grade-percent{font-size:1.4rem;color:#fffc;font-weight:500}.no-grade{color:#ffffff80;font-style:italic}.grade-summary{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.grade-box{flex:1;min-width:200px;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1.5rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.grade-box label{display:block;font-size:.9rem;color:#ffffffb3;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.grade-value{font-size:2rem;font-weight:700;color:#fff}.grade-value.positive{color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.5)}.grade-value.negative{color:#f87171;text-shadow:0 0 20px rgba(248,113,113,.5)}.assignments-section{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.assignments-section h2{margin-bottom:.5rem;color:#fff}.hint{color:#ffffffb3;margin-bottom:1rem;font-size:.9rem}.user-tip{display:flex;align-items:center;gap:.75rem;padding:1rem;background:rgba(99,102,241,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(99,102,241,.2);border-radius:12px;margin-bottom:2rem;animation:fadeIn .5s ease}.user-tip svg{color:#6366f1;flex-shrink:0}.user-tip span{color:#ffffffe6;font-size:.9rem;font-weight:500;line-height:1.4}.assignment-group{margin-bottom:2rem}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(99,102,241,.5);flex-wrap:wrap;gap:.5rem}.assignment-group h3{color:#fff;margin:0}.category-average{color:#ffffffb3;font-size:.95rem;font-weight:500}.average-value{color:#667eea;font-weight:700;font-size:1.1rem;margin-left:.25rem}.weight{color:#fff9;font-weight:400;font-size:.9rem}.assignments-list{display:flex;flex-direction:column;gap:.75rem}.assignment-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;gap:1rem;transition:all .3s ease}.assignment-item:hover{background:rgba(255,255,255,.05);border-color:#6366f14d}.assignment-item.dropped{opacity:.5;background:rgba(248,113,113,.05);border-color:#f871714d}.assignment-item.dropped .assignment-name{text-decoration:line-through;color:#ffffff80}.drop-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.drop-checkbox:hover{background:rgba(255,255,255,.05)}.drop-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:#f87171}.checkbox-label{font-size:.85rem;color:#ffffffb3;font-weight:500}.assignment-info{flex:1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.assignment-name{font-weight:500;color:#fff}.assignment-points{color:#fff9;font-size:.9rem;white-space:nowrap}.score-input{width:120px;padding:.5rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.9rem;color:#fff;transition:all .3s ease}.score-input::placeholder{color:#fff6}.score-input:focus{outline:none;border-color:#6366f180;background:rgba(255,255,255,.1);box-shadow:0 0 15px #6366f14d}.calculate-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1.5rem;transition:all .3s ease;box-shadow:0 4px 15px #10b98166}.calculate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98199}.calculate-btn:disabled{opacity:.6;cursor:not-allowed}.error{background:rgba(248,113,113,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fca5a5;padding:1rem;border:1px solid rgba(248,113,113,.3);border-radius:12px;margin-top:1rem}@media (max-width: 768px){.container{padding:1rem}.assignment-item{flex-direction:column;align-items:stretch}.assignment-info{flex-direction:column;align-items:flex-start}.score-input{width:100%}}.upcoming-section{margin-top:3rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.upcoming-section h2{color:#fff;margin-bottom:1.5rem;font-size:1.5rem}.upcoming-list{display:flex;flex-direction:column;gap:1rem}.upcoming-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;gap:1rem;transition:all .3s ease}.upcoming-item:hover{background:rgba(255,255,255,.05);border-color:#6366f14d;transform:translate(4px)}.upcoming-item.urgent{background:rgba(248,113,113,.05)}.upcoming-item.urgent:hover{background:rgba(248,113,113,.08)}.upcoming-info{flex:1}.upcoming-course{font-size:.85rem;color:#fff9;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.upcoming-name{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:.5rem}.upcoming-meta{display:flex;gap:1rem;font-size:.9rem}.upcoming-points{color:#6366f1cc;font-weight:600}.upcoming-due{color:#ffffffb3}.upcoming-item.urgent .upcoming-due{color:#fca5a5;font-weight:600}.view-btn{padding:.5rem 1.25rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;text-decoration:none;border-radius:8px;font-size:.9rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;white-space:nowrap}.view-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}@media (max-width: 768px){.upcoming-item{flex-direction:column;align-items:flex-start}.view-btn{width:100%;text-align:center}.upcoming-meta{flex-direction:column;gap:.25rem}}.loading-upcoming,.no-upcoming{text-align:center;padding:2rem;color:#fff9;font-style:italic}.loading-upcoming{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#fffc;font-size:1.1rem;font-weight:500;animation:pulse 2s ease-in-out infinite}.loading-watermark{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#ffffff4d;font-size:.8rem;font-weight:500;letter-spacing:.5px}.loading-overlay{position:relative}.category-average .arrow{margin:0 .5rem;color:#fff6;font-weight:400}.category-average .projected-value{font-weight:700;font-size:1.1rem}.category-average .projected-value.positive{color:#4ade80}.category-average .projected-value.negative{color:#f87171}.change-badge{display:inline-block;padding:.15rem .5rem;border-radius:6px;font-size:.8rem;font-weight:600;margin-left:.5rem}.change-badge.positive{background:rgba(74,222,128,.15);color:#4ade80}.change-badge.negative{background:rgba(248,113,113,.15);color:#f87171}.arrow-small{color:#fff6;font-size:.85rem;margin:0 .25rem}.what-if-percentage{font-weight:700;font-size:.9rem}.what-if-percentage.positive{color:#4ade80}.what-if-percentage.negative{color:#f87171}.error{position:relative;display:flex;justify-content:space-between;align-items:center;gap:1rem}.dismiss-error{padding:.4rem .8rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;white-space:nowrap}.dismiss-error:hover{background:rgba(255,255,255,.2)}.assignment-percentage{color:#6366f1e6;font-weight:600;margin-right:.25rem}.course-card{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;position:relative;will-change:transform}.course-card:hover{cursor:grab}.course-card:active{cursor:grabbing}.course-card.dragging{cursor:grabbing!important}.course-card.dragging{opacity:.4;border:2px dashed rgba(99,102,241,.6);background:rgba(99,102,241,.1);z-index:1000}.course-card.dragging:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid rgba(99,102,241,.8);border-radius:20px;pointer-events:none;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.02)}}.assignment-item.clickable{cursor:pointer}.assignment-item.clickable:hover{background:rgba(255,255,255,.08);border-color:#6366f166}.external-link-icon{color:#6366f1b3;font-size:.85rem;margin-left:.25rem;opacity:.7;transition:opacity .2s ease}.assignment-item.clickable:hover .external-link-icon{opacity:1}.assignment-item .score-input{pointer-events:auto;z-index:1}.assignment-item.hypothetical{background:rgba(99,102,241,.08);border:1px dashed rgba(99,102,241,.4)}.hypo-name-input{flex:1;padding:.4rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.9rem}.hypo-name-input::placeholder{color:#fff6}.hypo-scores{display:flex;align-items:center;gap:.5rem}.hypo-score-input{width:70px;padding:.4rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.9rem}.hypo-score-input::placeholder{color:#fff6}.remove-hypo-btn{padding:.4rem .8rem;background:rgba(248,113,113,.15);border:1px solid rgba(248,113,113,.3);border-radius:6px;color:#f87171;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s ease}.remove-hypo-btn:hover{background:rgba(248,113,113,.25);border-color:#f8717180}.add-hypo-btn{width:100%;padding:.75rem;margin-top:.75rem;background:rgba(99,102,241,.1);border:1px dashed rgba(99,102,241,.4);border-radius:8px;color:#818cf8;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.add-hypo-btn:hover{background:rgba(99,102,241,.15);border-color:#6366f199}.slow-loading-message{margin-top:1rem;padding:1rem;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);border-radius:12px;color:#fffc;font-size:.9rem;line-height:1.5;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bg-customizer-tab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;z-index:999;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px #0000004d}.bg-customizer-tab:hover{background:rgba(255,255,255,.15);transform:scale(1.1);box-shadow:0 6px 25px #0006}.bg-customizer-tab svg{width:24px;height:24px}.bg-customizer-tab span{display:none}.bg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bg-customizer-panel{position:fixed;right:0;top:0;bottom:0;width:400px;max-width:90vw;background:rgba(20,20,20,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.2);box-shadow:-8px 0 32px #00000080;z-index:1001;animation:slideInRight .3s ease;display:flex;flex-direction:column}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.bg-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.bg-panel-header h3{color:#fff;font-size:1.25rem;margin:0}.close-panel-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.5rem;cursor:pointer;color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-panel-btn:hover{background:rgba(255,255,255,.1);border-color:#f8717180;color:#f87171}.bg-panel-content{flex:1;overflow-y:auto;padding:1.5rem}.bg-section{margin-bottom:2rem}.bg-section h4{color:#fffc;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;font-weight:600}.bg-presets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.bg-preset-card{background:rgba(255,255,255,.03);border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:0;cursor:pointer;transition:all .3s ease;overflow:hidden}.bg-preset-card:hover{border-color:#6366f180;transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.bg-preset-card.active{border-color:#6366f1cc;background:rgba(99,102,241,.1);box-shadow:0 0 20px #6366f14d}.bg-preview{width:100%;height:100px;background-size:cover;background-position:center;border-bottom:1px solid rgba(255,255,255,.1)}.bg-preset-name{display:block;padding:.75rem;color:#fff;font-size:.9rem;font-weight:500;text-align:center}.custom-bg-upload{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:rgba(255,255,255,.05);border:2px dashed rgba(255,255,255,.2);border-radius:12px;color:#fff;cursor:pointer;transition:all .3s ease;font-weight:500}.custom-bg-upload:hover{background:rgba(255,255,255,.08);border-color:#6366f180;color:#818cf8}.custom-bg-upload svg{width:24px;height:24px}@media (max-width: 768px){.bg-customizer-panel{width:100vw}.bg-presets-grid{grid-template-columns:1fr}}.course-manager-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:500px;max-height:80vh;background:rgba(20,20,20,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 8px 32px #00000080;z-index:1001;animation:slideInUp .3s ease;display:flex;flex-direction:column}@keyframes slideInUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{color:#fff;font-size:1.25rem;margin:0}.close-modal-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.5rem;cursor:pointer;color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-modal-btn:hover{background:rgba(255,255,255,.1);border-color:#f8717180;color:#f87171}.modal-content{padding:1.5rem;overflow-y:auto;flex:1}.modal-hint{color:#ffffffb3;font-size:.9rem;margin-bottom:1.5rem}.course-list{display:flex;flex-direction:column;gap:.75rem}.course-toggle{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease}.course-toggle:hover{background:rgba(255,255,255,.05);border-color:#6366f14d}.course-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#667eea}.course-toggle-name{flex:1;color:#fff;font-weight:500;font-size:.95rem}.course-toggle-grade{color:#6366f1e6;font-weight:600;font-size:.9rem}@media (max-width: 768px){.course-manager-modal{width:95%;max-height:90vh}.manage-courses-btn span{display:none}}.auto-login-loading{max-width:500px;margin:8rem auto;padding:3rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 8px 32px #0000004d;text-align:center;animation:fadeIn .3s ease}.auto-login-loading .loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 2rem}.auto-login-loading h2{color:#fff;font-size:1.75rem;margin-bottom:.5rem;font-weight:600}.auto-login-loading p{color:#ffffffb3;font-size:1rem;margin-bottom:2rem}.auto-login-loading .progress-container{margin-top:2rem}.auto-login-loading .slow-loading-message{margin-top:1.5rem;padding:1rem;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);border-radius:12px;color:#fffc;font-size:.9rem;line-height:1.5}.loading-watermark{display:flex;align-items:center;gap:.5rem}.watermark-separator{color:#fff3}.feedback-link{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:.8rem;font-weight:500;text-decoration:underline;transition:color .2s ease;padding:0}.feedback-link:hover{color:#fffc}.feedback-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:500px;background:rgba(20,20,20,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 8px 32px #00000080;z-index:1001;animation:slideInUp .3s ease}.feedback-textarea{width:100%;padding:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:.95rem;font-family:inherit;resize:vertical;transition:all .3s ease}.feedback-textarea::placeholder{color:#fff6}.feedback-textarea:focus{outline:none;border-color:#6366f180;background:rgba(255,255,255,.08);box-shadow:0 0 15px #6366f133}.feedback-actions{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn,.submit-btn{flex:1;padding:.75rem;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#fff}.cancel-btn:hover{background:rgba(255,255,255,.1)}.submit-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;color:#fff;box-shadow:0 4px 15px #667eea66}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.feedback-success{text-align:center;padding:2rem}.feedback-success svg{margin:0 auto 1rem;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.feedback-success h4{color:#fff;font-size:1.5rem;margin-bottom:.5rem}.feedback-success p{color:#ffffffb3;font-size:1rem}.header-buttons{display:flex;align-items:center;gap:1rem}.edit-names-btn{padding:.5rem 1rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;cursor:pointer;font-size:.9rem;color:#fff;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.edit-names-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.name-editor-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(26,26,26,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:0;width:90%;max-width:600px;max-height:80vh;overflow:hidden;z-index:1001;box-shadow:0 20px 40px #00000080}.course-name-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.course-name-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .3s ease}.course-name-item:hover{background:rgba(255,255,255,.08);border-color:#fff3}.course-info{flex:1;min-width:0}.original-name{font-weight:500;color:#fff;margin-bottom:.25rem;word-break:break-word}.course-grade{font-size:.85rem;color:#ffffffb3}.name-input-container{display:flex;align-items:center;gap:.5rem;flex:1;max-width:300px}.course-name-input{flex:1;padding:.75rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.9rem;transition:all .3s ease}.course-name-input:focus{outline:none;background:rgba(255,255,255,.15);border-color:#6366f180;box-shadow:0 0 0 3px #6366f11a}.course-name-input::placeholder{color:#ffffff80}.clear-name-btn{padding:.5rem;background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.3);border-radius:6px;cursor:pointer;color:#ef4444;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.clear-name-btn:hover{background:rgba(239,68,68,.3);border-color:#ef444480}.name-editor-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2)}.done-btn{padding:.75rem 1.5rem;background:rgba(99,102,241,.2);border:1px solid rgba(99,102,241,.3);border-radius:8px;cursor:pointer;color:#6366f1;font-weight:500;transition:all .3s ease}.done-btn:hover{background:rgba(99,102,241,.3);border-color:#6366f180;transform:translateY(-1px)}@media (max-width: 768px){.course-name-item{flex-direction:column;align-items:stretch;gap:.75rem}.name-input-container{max-width:none}.name-editor-modal{width:95%;max-height:85vh}}.assignments-section{margin-top:2rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden}.assignments-tabs{display:flex;justify-content:flex-start;background:transparent;padding:.5rem 1rem 0;gap:.25rem;margin-bottom:1rem}.tab-btn{padding:.5rem 1rem;background:rgba(255,255,255,.05);border:none;color:#ffffffb3;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .3s ease;border-radius:12px;position:relative;min-width:auto;white-space:nowrap;border-bottom:2px solid transparent}.tab-btn:hover{background:rgba(255,255,255,.1);color:#ffffffe6}.tab-btn.active{background:rgba(255,255,255,.15);color:#fff;border-bottom-color:#6366f1}.tab-content{padding:1.5rem}.assignments-list{display:flex;flex-direction:column;gap:1rem}.assignment-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .3s ease}.assignment-item:hover{background:rgba(255,255,255,.08);border-color:#fff3;transform:translateY(-1px)}.assignment-item.urgent{border-color:#ef444480;background:rgba(239,68,68,.1)}.assignment-item.overdue{border-color:#f59e0b80;background:rgba(245,158,11,.1)}.assignment-item.locked{border-color:#6b728080;background:rgba(107,114,128,.1);opacity:.7}.assignment-info{flex:1;min-width:0}.assignment-course{font-size:.85rem;color:#fff9;margin-bottom:.25rem}.assignment-name{font-weight:600;color:#fff;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.locked-badge{font-size:.75rem;padding:.25rem .5rem;background:rgba(107,114,128,.3);border-radius:6px;color:#9ca3af}.assignment-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.assignment-points{color:#ffffffb3;font-weight:500}.assignment-due,.assignment-overdue{color:#ffffffb3}.days-overdue{color:#f59e0be6;font-weight:500;margin-left:.5rem}.lock-info{color:#9ca3afe6;font-size:.8rem}.loading-assignments,.no-assignments{text-align:center;padding:2rem;color:#ffffffb3;font-size:1rem}.no-assignments{color:#22c55ecc}.view-btn{padding:.6rem 1.2rem;background:rgba(99,102,241,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(99,102,241,.6);border-radius:10px;color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 8px #6366f133}.view-btn:hover{background:rgba(99,102,241,.6);border-color:#6366f1cc;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}@media (max-width: 768px){.assignment-item{flex-direction:column;align-items:stretch;gap:1rem}.assignment-meta{flex-direction:column}.assignments-tabs{padding:.25rem .25rem 0;gap:.125rem}.tab-btn{padding:.4rem .75rem;font-size:.8rem;border-radius:8px}.assignments-section{margin-top:1.5rem}}.assignment-search-section{margin:2rem 0;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.search-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.search-header h3{color:#fff;margin:0;font-size:1.25rem}.toggle-search-btn{padding:.5rem 1rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;cursor:pointer;font-size:.9rem;color:#fff;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.toggle-search-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.toggle-search-btn.active{background:rgba(99,102,241,.2);border-color:#6366f180}.toggle-search-btn.active:hover{background:rgba(99,102,241,.3);border-color:#6366f199}.search-content{padding:1.5rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-input-container{position:relative;margin-bottom:1rem}.assignment-search-input{width:100%;padding:.75rem 3rem .75rem 1rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;color:#fff;transition:all .3s ease}.assignment-search-input::placeholder{color:#ffffff80}.assignment-search-input:focus{outline:none;border-color:#6366f180;background:rgba(255,255,255,.15);box-shadow:0 0 20px #6366f14d}.clear-search-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.25rem;cursor:pointer;color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.clear-search-btn:hover{background:rgba(248,113,113,.2);border-color:#f8717180;color:#f87171}.search-results{margin-top:1rem}.no-search-results{text-align:center;padding:2rem;color:#fff9;font-style:italic}.search-results-header{color:#fffc;font-weight:600;margin-bottom:1rem;font-size:.95rem}.search-results-list{display:flex;flex-direction:column;gap:.75rem}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;gap:1rem;transition:all .3s ease}.search-result-item:hover{background:rgba(255,255,255,.05);border-color:#6366f14d;transform:translate(4px)}.search-result-info{flex:1;min-width:0}.search-result-name{font-weight:600;color:#fff;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.search-result-group{font-size:.85rem;color:#6366f1cc;font-weight:500}.search-result-details{font-size:.9rem;color:#ffffffb3}.search-result-percentage{color:#6366f1e6;font-weight:600;margin-right:.25rem}.search-result-actions{display:flex;align-items:center;gap:1rem}.search-score-input{width:120px;padding:.5rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.9rem;color:#fff;transition:all .3s ease}.search-score-input::placeholder{color:#fff6}.search-score-input:focus{outline:none;border-color:#6366f180;background:rgba(255,255,255,.1);box-shadow:0 0 15px #6366f14d}@media (max-width: 768px){.search-header{flex-direction:column;gap:1rem;align-items:stretch}.search-result-item{flex-direction:column;align-items:stretch;gap:.75rem}.search-result-actions{justify-content:space-between}.search-score-input{width:100px}}.calculate-prompt{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:rgba(20,20,20,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(99,102,241,.3);border-radius:16px;box-shadow:0 8px 32px #00000080;z-index:1000;animation:slideUpPrompt .3s ease;max-width:90vw}@keyframes slideUpPrompt{0%{opacity:0;transform:translate(-50%,100%)}to{opacity:1;transform:translate(-50%)}}.calculate-prompt-content{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.5rem}.calculate-prompt-text{display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:500}.calculate-prompt-text svg{color:#6366f1;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.calculate-prompt-actions{display:flex;gap:.75rem}.dismiss-prompt-btn{padding:.5rem 1rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;font-size:.9rem;transition:all .2s ease}.dismiss-prompt-btn:hover{background:rgba(255,255,255,.15);color:#fff}.calculate-prompt-btn{padding:.5rem 1.25rem;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #6366f166}.calculate-prompt-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f199}.calculate-prompt-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.calculate-prompt{bottom:1rem;left:1rem;right:1rem;transform:none;max-width:none}.calculate-prompt-content{flex-direction:column;gap:1rem;padding:1rem}.calculate-prompt-actions{width:100%;justify-content:space-between}.dismiss-prompt-btn,.calculate-prompt-btn{flex:1}}.assignment-detail-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1000px;max-height:85vh;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 20px 60px #0009,0 8px 32px #0006;z-index:1001;animation:slideInUp .3s ease;display:flex;flex-direction:column;overflow:hidden}.assignment-detail-content{display:flex;flex:1;overflow:hidden}.assignment-detail-main{flex:1;padding:1.5rem;overflow-y:auto;border-right:1px solid rgba(255,255,255,.1)}.assignment-detail-sidebar{width:300px;padding:1.5rem;background:rgba(255,255,255,.02);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-left:1px solid rgba(255,255,255,.1);overflow-y:auto}.assignment-detail-section{margin-bottom:2rem}.assignment-detail-section h4{color:#fff;font-size:1.1rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(99,102,241,.3)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-size:.85rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-item span{color:#fff;font-weight:500}.detail-percentage{color:#6366f1e6;font-weight:600;margin-left:.5rem}.modified-score{color:#4ade80;font-weight:600}.assignment-description{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;color:#ffffffe6;line-height:1.6;max-height:200px;overflow-y:auto}.assignment-description h1,.assignment-description h2,.assignment-description h3,.assignment-description h4,.assignment-description h5,.assignment-description h6{color:#fff;margin:1rem 0 .5rem}.assignment-description p{margin-bottom:.75rem}.assignment-description ul,.assignment-description ol{margin-left:1.5rem;margin-bottom:.75rem}.assignment-description a{color:#6366f1;text-decoration:underline}.timeline-grid{display:flex;flex-direction:column;gap:1rem}.timeline-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px}.timeline-icon{font-size:1.25rem;width:2rem;text-align:center}.timeline-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.timeline-content label{font-size:.85rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.timeline-content span{color:#fff;font-weight:500}.comments-list{display:flex;flex-direction:column;gap:1rem;max-height:300px;overflow-y:auto}.comment-item{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem}.comment-author{font-weight:600;color:#6366f1;margin-bottom:.5rem}.comment-text{color:#ffffffe6;line-height:1.5;margin-bottom:.5rem}.comment-date{font-size:.85rem;color:#fff9}.detail-actions{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.detail-actions h4{color:#fff;font-size:1rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(99,102,241,.3)}.action-item{margin-bottom:1.5rem}.action-item:last-child{margin-bottom:0}.action-item label{display:block;font-size:.85rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:.5rem}.detail-score-input{width:100%;padding:.75rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;font-size:.95rem;transition:all .3s ease}.detail-score-input::placeholder{color:#fff6}.detail-score-input:focus{outline:none;border-color:#6366f180;background:rgba(255,255,255,.08);box-shadow:0 0 20px #6366f14d}.detail-score-input:disabled{opacity:.5;cursor:not-allowed}.drop-checkbox-detail{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;background:rgba(255,255,255,.02);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:10px;transition:all .2s ease;-webkit-user-select:none;user-select:none;margin:0}.drop-checkbox-detail:hover{background:rgba(255,255,255,.05);border-color:#f871714d}.drop-checkbox-detail input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#f87171;margin:0;flex-shrink:0}.drop-checkbox-detail span{color:#fffc;font-weight:500;text-transform:none;letter-spacing:normal;font-size:.9rem;line-height:1.2;margin:0}.open-canvas-btn{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #6366f166;display:flex;align-items:center;justify-content:center;gap:.5rem}.open-canvas-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f199}.grading-info-section{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;margin-top:1.5rem}.grading-info-section h4{color:#fff;font-size:1rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(34,197,94,.3)}.grading-detail{display:flex;align-items:center;gap:1rem;padding:.75rem;background:rgba(34,197,94,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(34,197,94,.15);border-radius:10px;margin-bottom:1rem}.grading-icon{font-size:1.25rem;width:2rem;text-align:center;flex-shrink:0}.grading-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.grading-content label{font-size:.8rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.grading-content span{color:#fff;font-weight:500;font-size:.9rem}.grading-time{color:#fff9!important;font-size:.8rem!important;font-weight:400!important}.sidebar-comments{margin-top:1rem}.comments-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#fffc;font-weight:600;font-size:.9rem}.comments-icon{font-size:1rem}.sidebar-comments-list{display:flex;flex-direction:column;gap:.75rem}.sidebar-comment-item{background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.75rem}.sidebar-comment-author{font-weight:600;color:#6366f1;margin-bottom:.25rem;font-size:.85rem}.sidebar-comment-text{color:#ffffffe6;line-height:1.4;margin-bottom:.5rem;font-size:.85rem}.sidebar-comment-date{font-size:.75rem;color:#fff9}.more-comments{text-align:center;padding:.5rem;color:#6366f1cc;font-size:.8rem;font-weight:500;font-style:italic}.no-grading-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:rgba(255,255,255,.02);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:10px;color:#fff9;font-size:.9rem;font-style:italic}.no-info-icon{font-size:1.25rem;opacity:.7}@media (max-width: 768px){.assignment-detail-modal{width:95%;max-height:90vh}.assignment-detail-content{flex-direction:column}.assignment-detail-main{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.assignment-detail-sidebar{width:100%;background:rgba(255,255,255,.02);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-left:none;border-top:1px solid rgba(255,255,255,.1)}.detail-grid{grid-template-columns:1fr}.timeline-item{flex-direction:column;align-items:flex-start;gap:.5rem}.timeline-icon{align-self:flex-start}.drop-checkbox-detail{padding:1rem}.grading-info-section{margin-top:1rem}.grading-detail{flex-direction:column;align-items:flex-start;gap:.5rem}.grading-icon{align-self:flex-start}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,rgba(0,0,0,.6) 0%,rgba(26,26,26,.65) 50%,rgba(10,10,10,.6) 100%),url(https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1920&q=80) center/cover no-repeat fixed;min-height:100vh;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:-1}#root{min-height:100vh;position:relative}.fixed-watermark{position:fixed;bottom:1.5rem;left:1.5rem;color:#ffffff40;font-size:.8rem;font-weight:500;letter-spacing:.5px;z-index:1000;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .3s ease}.fixed-watermark:hover{color:#ffffff80}.loading-overlay~.fixed-watermark{opacity:0}
