.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important;word-break:normal!important}.wpcf7 .hidden-fields-container{display:none}.wpcf7 form .wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid #00a0d2}.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450}.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#dc3232}.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28}.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{border-color:#ffb900}.wpcf7-form-control-wrap{position:relative}.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:400;display:block}.use-floating-validation-tip .wpcf7-not-valid-tip{position:relative;top:-2ex;left:1em;z-index:100;border:1px solid #dc3232;background:#fff;padding:.2em .8em;width:24em}.wpcf7-list-item{display:inline-block;margin:0 0 0 1em}.wpcf7-list-item-label::before,.wpcf7-list-item-label::after{content:" "}.wpcf7-spinner{visibility:hidden;display:inline-block;background-color:#23282d;opacity:.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 24px;position:relative}form.submitting .wpcf7-spinner{visibility:visible}.wpcf7-spinner::before{content:'';position:absolute;background-color:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;animation-name:spin;animation-duration:1000ms;animation-timing-function:linear;animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.wpcf7-spinner::before{animation-name:blink;animation-duration:2000ms}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes blink{from{opacity:0}50%{opacity:1}to{opacity:0}}.wpcf7 [inert]{opacity:.5}.wpcf7 input[type="file"]{cursor:pointer}.wpcf7 input[type="file"]:disabled{cursor:default}.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed}.wpcf7 input[type="url"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"]{direction:ltr}.wpcf7-reflection>output{display:list-item;list-style:none}.wpcf7-reflection>output[hidden]{display:none}.hostinger-reach-block-connect{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-line-pack:start;align-content:flex-start;background:#fff6e9;padding:14px;font-size:14px;margin:28px 0 14px}.hostinger-reach-block-connect__title{color:#1d1e20;font-weight:700;margin-bottom:4px}.hostinger-reach-block-connect__subtitle{color:#727586;margin-bottom:4px}.hostinger-reach-block-connect a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}.hostinger-reach-block-dialog{display:block;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-line-pack:start;align-content:flex-start;background:#fff;color:#1d1e20;padding:20px;gap:14px;font-size:14px;line-height:20px;bottom:80px;left:20px;position:fixed;z-index:100001;max-width:400px;border-radius:16px;-webkit-box-shadow:0 0 10px rgb(0 0 0 / .05);box-shadow:0 0 10px rgb(0 0 0 / .05)}.hostinger-reach-block-dialog__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;gap:10px}.hostinger-reach-block-dialog__button_indicator{height:16px;width:16px}.hostinger-reach-block-dialog__button{cursor:pointer;text-align:center;background:#673de6;color:#fff;font-weight:700;font-size:12px;padding:6px 16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;border-radius:8px}.hostinger-reach-block-dialog__button:hover{background:#5029c2}.hostinger-reach-block-dialog__button a{color:#fff;text-decoration:none}.hostinger-reach-block-dialog__button a:hover,.hostinger-reach-block-dialog__button a:focus,.hostinger-reach-block-dialog__button a:active{color:#fff;-webkit-box-shadow:none;box-shadow:none;outline:none}.hostinger-reach-block-dialog__button svg{height:16px;width:16px}.hostinger-reach-block-dialog__button svg path{fill:#fff}.hostinger-reach-block-dialog__close{cursor:pointer}.hostinger-reach-block-dialog__close:before,.hostinger-reach-block-dialog__close:after{content:"";position:absolute;width:16px;height:2px;background-color:#1d1e20;top:26px;right:16px}.hostinger-reach-block-dialog__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.hostinger-reach-block-dialog__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.hostinger-reach-block-dialog__close:hover:before,.hostinger-reach-block-dialog__close:hover:after{background-color:#727272}.hostinger-reach-block-subscription-form .hostinger-reach-block-form-fields{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}.hostinger-reach-block-subscription-form .hostinger-reach-block-form-fields--inline{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:end;-ms-flex-align:end;align-items:end;width:100%;gap:.5rem}.hostinger-reach-block-subscription-form .hostinger-reach-block-form-fields--inline .hostinger-reach-block-form-field{min-width:70%}.hostinger-reach-block-subscription-form .hostinger-reach-block-form-fields--inline .hostinger-reach-block-submit{min-width:30%}.hostinger-reach-block-subscription-form .hostinger-reach-block-submit{border-width:0;margin-top:var(--wp--preset--spacing--20);-ms-flex-line-pack:center;align-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;width:100%;word-break:break-word;font-weight:500;min-height:40px;border-radius:50px}.hostinger-reach-block-subscription-form .hostinger-reach-block-form-field{margin-top:8px}.hostinger-reach-block-subscription-form label{display:block;font-size:11px;font-weight:500;line-height:1.4;text-transform:uppercase;margin-bottom:8px;padding:0}.hostinger-reach-block-subscription-form input{display:block;width:100%;padding:3px 10px;min-height:40px;-webkit-box-shadow:0 0 0 #fff0;box-shadow:0 0 0 #fff0;border-radius:4px;border:1px solid #8c8f94;background-color:#fff;color:#2c3338;-webkit-box-sizing:border-box;box-sizing:border-box}.hostinger-reach-block-tags{margin-left:-6px;margin-top:10px;max-height:14em;overflow:auto;padding-left:6px;padding-top:6px;margin-bottom:20px}.components-button.is-link.hostinger-reach-block-toggler{margin-bottom:20px}.hostinger-reach-block-newtag{margin-bottom:20px}.reach-subscription-message.is-success{background:rgb(0 158 91 / .1019607843);font-weight:700;padding:1em;gap:10px}:root{--bg-primary:#0a0a1a;--bg-secondary:#111128;--bg-card:rgba(20, 20, 50, 0.6);--bg-card-hover:rgba(30, 30, 65, 0.7);--bg-input:rgba(15, 15, 40, 0.8);--border-color:rgba(100, 100, 255, 0.12);--border-glow:rgba(100, 130, 255, 0.3);--text-primary:#e8e8f0;--text-secondary:#9090b8;--text-muted:#5a5a80;--accent:#6c5ce7;--accent-light:#a29bfe;--accent-glow:rgba(108, 92, 231, 0.35);--success:#00cec9;--success-glow:rgba(0, 206, 201, 0.3);--warning:#fdcb6e;--danger:#ff6b6b;--danger-glow:rgba(255, 107, 107, 0.3);--gradient-1:linear-gradient(135deg, #6c5ce7 0%, #a29bfe 100%);--gradient-2:linear-gradient(135deg, #00cec9 0%, #55efc4 100%);--gradient-3:linear-gradient(135deg, #fd79a8 0%, #fdcb6e 100%);--gradient-4:linear-gradient(135deg, #0984e3 0%, #74b9ff 100%);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-card:0 8px 32px rgba(0,0,0,0.3), 0 2px 8px rgba(0,0,0,0.2);--shadow-glow:0 0 30px var(--accent-glow);--transition:0.3s cubic-bezier(0.4, 0, 0.2, 1)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden;position:relative}.bg-orbs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25;animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:var(--accent);top:-150px;right:-100px;animation-delay:0s}.orb-2{width:400px;height:400px;background:#00cec9;bottom:-100px;left:-100px;animation-delay:-7s}.orb-3{width:350px;height:350px;background:#fd79a8;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(40px,-30px) scale(1.05)}50%{transform:translate(-20px,40px) scale(.95)}75%{transform:translate(30px,20px) scale(1.02)}}.header{position:relative;z-index:1;padding:40px 20px 20px;text-align:center}.header-content{max-width:700px;margin:0 auto}.logo{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}.logo-icon{width:44px;height:44px;background:var(--gradient-1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 20px var(--accent-glow)}.logo-icon svg{width:24px;height:24px}.logo h1{font-size:2rem;font-weight:800;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;letter-spacing:-.5px}.tagline{color:var(--text-secondary);font-size:1rem;font-weight:400}.main{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:20px 20px 40px}.dashboard{margin-bottom:28px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px}.stat-card{background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px 16px;text-align:center;transition:var(--transition);display:flex;flex-direction:column;align-items:center;gap:8px}.stat-card:hover{background:var(--bg-card-hover);border-color:var(--border-glow);transform:translateY(-2px);box-shadow:var(--shadow-card)}.stat-cgpa{grid-column:1 / 2;grid-row:1 / 2}.stat-ring{position:relative;width:100px;height:100px}.stat-ring svg{transform:rotate(-90deg);width:100%;height:100%}.ring-bg{fill:none;stroke:rgb(108 92 231 / .12);stroke-width:8}.ring-fill{fill:none;stroke:url(#ringGradient);stroke:var(--accent-light);stroke-width:8;stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:326.73;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.stat-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.stat-number{font-size:2rem;font-weight:800;color:var(--text-primary)}.stat-label{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-sublabel{font-size:.75rem;color:var(--text-muted);font-weight:400}.stat-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.stat-credits .stat-icon{background:rgb(0 206 201 / .15);color:var(--success)}.stat-courses .stat-icon{background:rgb(253 121 168 / .15);color:#fd79a8}.stat-semesters .stat-icon{background:rgb(9 132 227 / .15);color:#74b9ff}.stat-credits .stat-number{color:var(--success)}.stat-courses .stat-number{color:#fd79a8}.stat-semesters .stat-number{color:#74b9ff}.grading-scale-section{margin-bottom:28px}.grading-toggle{width:100%;background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 20px;color:var(--text-secondary);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:10px;transition:var(--transition)}.grading-toggle:hover{border-color:var(--border-glow);color:var(--text-primary)}.grading-toggle .chevron{margin-left:auto;transition:transform var(--transition)}.grading-toggle.active .chevron{transform:rotate(180deg)}.grading-scale{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(.4,0,.2,1),padding 0.4s;background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid #fff0;border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.grading-scale.open{max-height:200px;padding:16px 20px;border-color:var(--border-color)}.grade-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.grade-chip{background:rgb(108 92 231 / .1);border:1px solid rgb(108 92 231 / .2);border-radius:20px;padding:6px 14px;font-size:.82rem;font-weight:600;color:var(--accent-light);display:flex;align-items:center;gap:6px;transition:var(--transition)}.grade-chip:hover{background:rgb(108 92 231 / .2);transform:translateY(-1px)}.grade-chip small{color:var(--text-muted);font-weight:400}.grade-chip.fail{background:rgb(255 107 107 / .1);border-color:rgb(255 107 107 / .2);color:var(--danger)}.semester-card{background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:20px;overflow:hidden;transition:var(--transition);animation:slideUp 0.4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.semester-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-card)}.semester-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);gap:12px}.semester-title-group{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.semester-number{width:36px;height:36px;background:var(--gradient-1);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0}.semester-name-input{background:#fff0;border:1px solid #fff0;border-radius:var(--radius-sm);padding:6px 10px;color:var(--text-primary);font-family:inherit;font-size:1.05rem;font-weight:600;width:100%;max-width:300px;transition:var(--transition)}.semester-name-input:hover{border-color:var(--border-color)}.semester-name-input:focus{outline:none;border-color:var(--accent);background:var(--bg-input)}.semester-gpa-badge{background:rgb(108 92 231 / .12);border:1px solid rgb(108 92 231 / .25);border-radius:20px;padding:6px 16px;font-size:.85rem;font-weight:700;color:var(--accent-light);white-space:nowrap;flex-shrink:0}.semester-actions{display:flex;gap:6px;flex-shrink:0}.btn-icon{width:34px;height:34px;border:1px solid var(--border-color);background:#fff0;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.btn-icon:hover{border-color:var(--border-glow);color:var(--text-primary);background:rgb(255 255 255 / .03)}.btn-icon.btn-delete:hover{border-color:var(--danger);color:var(--danger);background:rgb(255 107 107 / .08)}.btn-icon svg{width:16px;height:16px}.courses-table{width:100%;border-collapse:collapse}.courses-table thead th{padding:12px 16px;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.courses-table thead th:last-child{text-align:center;width:50px}.courses-table tbody tr{transition:background var(--transition)}.courses-table tbody tr:hover{background:rgb(255 255 255 / .02)}.courses-table tbody td{padding:8px 16px;border-bottom:1px solid rgb(100 100 255 / .06);vertical-align:middle}.courses-table tbody tr:last-child td{border-bottom:none}.course-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-primary);font-family:inherit;font-size:.9rem;width:100%;transition:var(--transition)}.course-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.course-input::placeholder{color:var(--text-muted)}select.course-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239090b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}select.course-input option{background:var(--bg-secondary);color:var(--text-primary)}input[type="number"].course-input{max-width:80px;text-align:center;-moz-appearance:textfield}input[type="number"].course-input::-webkit-outer-spin-button,input[type="number"].course-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.btn-remove-course{width:30px;height:30px;border:none;background:#fff0;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);margin:0 auto}.btn-remove-course:hover{color:var(--danger);background:rgb(255 107 107 / .1)}.btn-remove-course svg{width:16px;height:16px}.semester-footer{padding:12px 24px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.btn-add-course{background:#fff0;border:1px dashed var(--border-color);border-radius:var(--radius-sm);padding:8px 18px;color:var(--text-secondary);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:var(--transition)}.btn-add-course:hover{border-color:var(--accent);color:var(--accent-light);background:rgb(108 92 231 / .06)}.btn-add-course svg{width:16px;height:16px}.semester-credits-info{font-size:.82rem;color:var(--text-muted);font-weight:500}.semester-credits-info span{color:var(--text-secondary);font-weight:600}.btn{border:none;border-radius:var(--radius-md);padding:14px 28px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:var(--transition)}.btn-add-semester{width:100%;justify-content:center;background:var(--gradient-1);color:#fff;padding:16px;border-radius:var(--radius-md);font-size:1rem;font-weight:600;box-shadow:0 4px 20px var(--accent-glow)}.btn-add-semester:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow)}.btn-add-semester:active{transform:translateY(0)}.add-semester-container{margin-bottom:24px}.actions-bar{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-reset{background:rgb(255 107 107 / .1);border:1px solid rgb(255 107 107 / .2);color:var(--danger)}.btn-reset:hover{background:rgb(255 107 107 / .18);border-color:var(--danger);box-shadow:0 4px 20px var(--danger-glow)}.btn-export{background:rgb(0 206 201 / .1);border:1px solid rgb(0 206 201 / .2);color:var(--success)}.btn-export:hover{background:rgb(0 206 201 / .18);border-color:var(--success);box-shadow:0 4px 20px var(--success-glow)}.footer{position:relative;z-index:1;text-align:center;padding:30px 20px;color:var(--text-muted);font-size:.82rem;border-top:1px solid var(--border-color);margin-top:20px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-glow);border-radius:var(--radius-md);padding:14px 28px;color:var(--text-primary);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-card);z-index:1000;opacity:0;transition:transform 0.4s cubic-bezier(.4,0,.2,1),opacity 0.4s;pointer-events:none}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr 1fr}.stat-cgpa{grid-column:1 / -1}.semester-header{flex-wrap:wrap;padding:16px}.semester-name-input{max-width:100%}.courses-table thead{display:none}.courses-table tbody tr{display:flex;flex-wrap:wrap;padding:12px 16px;gap:8px;border-bottom:1px solid var(--border-color)}.courses-table tbody td{border:none;padding:0}.courses-table tbody td:nth-child(1){flex:1 1 100%}.courses-table tbody td:nth-child(2),.courses-table tbody td:nth-child(3){flex:1}.courses-table tbody td:last-child{flex:0}.semester-footer{flex-direction:column;gap:12px;padding:12px 16px}.actions-bar{flex-direction:column}.btn{justify-content:center}}@media (max-width:480px){.logo h1{font-size:1.5rem}.dashboard-grid{grid-template-columns:1fr}.stat-cgpa{grid-column:auto}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}.removing{animation:slideOut 0.3s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideOut{to{opacity:0;transform:translateX(-20px) scale(.97);max-height:0;padding:0;margin:0;overflow:hidden}}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:rgb(108 92 231 / .3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgb(108 92 231 / .5)}