@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600&display=swap";:root{--ink: #081426;--surface: rgba(126, 172, 240, .13);--surface-2: rgba(126, 172, 240, .2);--surface-strong: #0E1E3A;--paper: #EAF2FF;--field-bg: rgba(126, 172, 240, .1);--grid-line: rgba(120, 180, 255, .18);--glass-border: rgba(140, 185, 255, .22);--text-secondary: #A2B6D6;--text-muted: #6C82A6;--accent: #5EA8FF;--green: #4ADE80;--red: #FF6B6B;--blue: #5EA8FF;--accent-grad: linear-gradient(135deg, #6FB4FF, #3E86E6);--card-shadow: 0 10px 30px -16px rgba(0, 10, 30, .75);--card-blur: blur(16px);--on-accent: #04121F}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--app-bg, #0B1220);transition:background .3s ease;min-height:100vh}.app-viewport{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:0;background:var(--app-bg, #0B1220)}.app-frame{height:100vh;height:100dvh}@media (min-width: 480px){.app-viewport{padding:20px}.app-frame{height:min(880px,calc(100dvh - 40px))}}.so-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px #5ea8ff2e!important}.so-input::placeholder{color:var(--text-muted);opacity:1}.so-input::-webkit-datetime-edit,.so-input::-webkit-datetime-edit-fields-wrapper,.so-input::-webkit-datetime-edit-text,.so-input::-webkit-datetime-edit-month-field,.so-input::-webkit-datetime-edit-day-field,.so-input::-webkit-datetime-edit-year-field,.so-input::-webkit-datetime-edit-hour-field,.so-input::-webkit-datetime-edit-minute-field,.so-input::-webkit-datetime-edit-ampm-field{font-family:inherit;font-size:13px;color:var(--text-muted)}.so-input::-webkit-datetime-edit{padding:0}.so-input:focus::-webkit-datetime-edit,.so-input:focus::-webkit-datetime-edit-month-field,.so-input:focus::-webkit-datetime-edit-day-field,.so-input:focus::-webkit-datetime-edit-year-field,.so-input:focus::-webkit-datetime-edit-hour-field,.so-input:focus::-webkit-datetime-edit-minute-field,.so-input:focus::-webkit-datetime-edit-ampm-field{color:var(--paper)}.so-input::-webkit-datetime-edit-month-field:focus,.so-input::-webkit-datetime-edit-day-field:focus,.so-input::-webkit-datetime-edit-year-field:focus,.so-input::-webkit-datetime-edit-hour-field:focus,.so-input::-webkit-datetime-edit-minute-field:focus,.so-input::-webkit-datetime-edit-ampm-field:focus{background:#5ea8ff38;color:var(--paper);border-radius:4px;outline:none}input[type=range]{accent-color:var(--accent)}.so-input[type=date],.so-input[type=time]{position:relative}.so-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85;padding:2px;border-radius:5px;transition:opacity .15s ease,background-color .15s ease}.so-input::-webkit-calendar-picker-indicator:hover{opacity:1;background-color:#5ea8ff24}.so-input[type=date]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235EA8FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-size:16px;background-repeat:no-repeat;background-position:center}.so-input[type=time]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235EA8FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");background-size:16px;background-repeat:no-repeat;background-position:center}.so-scroll::-webkit-scrollbar{width:8px;height:8px}.so-scroll::-webkit-scrollbar-track{background:transparent}.so-scroll::-webkit-scrollbar-thumb{background:var(--grid-line);border-radius:8px}.so-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.nav-item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 9px;background:transparent;border:none;cursor:pointer;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.nav-pill{position:absolute;top:4px;width:42px;height:3px;border-radius:3px;background:var(--accent-grad)}@keyframes so-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes so-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.so-gradient-text{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.login-card{position:relative;width:100%;max-width:400px;background:var(--surface);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--glass-border);border-radius:24px;padding:48px 36px;text-align:center;box-shadow:0 30px 80px -30px #000000b3;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:22px 22px;opacity:.35;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 50% 0%,#000,transparent 75%);mask-image:radial-gradient(circle at 50% 0%,#000,transparent 75%)}.login-card>*{position:relative}.login-logo{font-size:60px;margin-bottom:14px;filter:drop-shadow(0 8px 18px rgba(94,168,255,.35))}.login-title{margin:0;font-family:Inter,sans-serif;font-size:34px;font-weight:700;letter-spacing:-.01em;color:var(--paper)}.login-subtitle{margin:10px 0 34px;color:var(--text-secondary);line-height:1.6;font-size:14.5px}.google-btn{width:100%;padding:15px;border:none;border-radius:14px;background:var(--accent-grad);color:var(--on-accent);font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px -10px #5ea8ff99}.login-footer{margin-top:22px;color:var(--text-muted);font-size:13px}.dashboard{display:flex;flex-direction:column;gap:14px}.hero-card{position:relative;background:var(--hero-grad)!important;border-radius:18px!important;padding:20px!important;overflow:hidden}.hero-card:after{content:"";position:absolute;top:-40px;right:-30px;width:160px;height:160px;background:radial-gradient(circle,rgba(94,168,255,.18),transparent 70%);pointer-events:none}.hero-date{margin-top:6px;color:var(--text-secondary);font-size:13px}.hero-quote{margin-top:16px;padding-top:14px;border-top:1px solid var(--glass-border);color:var(--accent);font-style:italic;font-size:13px;line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.settings-page{display:flex;flex-direction:column;gap:12px}.settings-card{padding:20px!important;text-align:center}.settings-title{margin:0;font-family:Inter,sans-serif;color:var(--paper);font-size:22px;font-weight:700}.settings-subtitle{margin-top:6px;color:var(--text-secondary);font-size:13px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:12px}.settings-left{display:flex;align-items:center;gap:13px}.settings-heading{color:var(--paper);font-size:14.5px;font-weight:600}.settings-text{color:var(--text-secondary);font-size:12px;margin-top:2px}.settings-value{font-family:JetBrains Mono,monospace;color:var(--accent);font-size:15px;font-weight:600}.settings-divider{border:none;border-top:1px solid var(--grid-line);margin:8px 0}.danger,.danger .settings-heading{color:var(--red)}.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.settings-modal{width:100%;max-width:340px;background:var(--surface-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:18px;padding:22px;box-shadow:0 30px 80px -20px #000000b3}.settings-btn-ghost,.settings-btn-danger{flex:1;padding:11px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--grid-line)}.settings-btn-ghost{background:transparent;color:var(--paper)}.settings-btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.profile-page{width:100%;max-height:100dvh;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start;padding:24px 16px;box-sizing:border-box}.profile-card{position:relative;width:100%;max-width:460px;background:var(--surface);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--glass-border);border-radius:20px;padding:30px 26px;box-sizing:border-box;box-shadow:0 30px 80px -30px #000000b3}.profile-logo{font-size:46px;text-align:center;margin-bottom:10px;filter:drop-shadow(0 8px 18px rgba(94,168,255,.3))}.profile-title{text-align:center;color:var(--paper);font-family:Inter,sans-serif;font-size:26px;font-weight:700;margin:0 0 6px}.profile-subtitle{text-align:center;color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 24px}.profile-group{margin-bottom:16px;flex:1;min-width:0}.profile-row{display:flex;gap:12px}.profile-label{display:block;margin-bottom:7px;color:var(--text-secondary);font-size:13px;font-weight:600}.analytics-page{display:flex;flex-direction:column;gap:14px}.analytics-header h1{margin:0;font-family:Inter,sans-serif;font-size:24px;color:var(--paper)}.analytics-header p{margin:6px 0 0;font-size:13px;color:var(--text-secondary)}.analytics-card-title{margin:0;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--paper)}.analytics-donut-wrap{display:flex;align-items:center;gap:18px}.analytics-donut{position:relative;width:120px;height:120px;flex-shrink:0}.analytics-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.analytics-donut-pct{font-family:Inter,sans-serif;font-size:26px;font-weight:700}.analytics-donut-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.analytics-legend{flex:1;display:flex;flex-direction:column;gap:10px}.analytics-legend-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.analytics-legend-row b{margin-left:auto;color:var(--paper);font-family:JetBrains Mono,monospace}.analytics-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analytics-insight{background:var(--surface);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--glass-border);border-radius:14px;padding:14px;box-shadow:var(--card-shadow)}.analytics-insight-tag{margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.analytics-insight-name{margin-top:3px;font-size:14px;font-weight:600;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-insight-pct{margin-top:2px;font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700}.cgpa-page{display:flex;flex-direction:column;gap:14px}.cgpa-hero{text-align:center;background:var(--surface);padding:22px 16px!important}.cgpa-hero-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.cgpa-value{font-family:Inter,sans-serif;font-size:56px;font-weight:700;line-height:1.05;margin:6px 0 2px}.cgpa-hero-sub{font-size:13px;color:var(--text-secondary)}.cgpa-section-title{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--paper);margin-bottom:12px}.cgpa-mini-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:6px}.cgpa-cancel{background:transparent;border:1px solid var(--grid-line);border-radius:10px;color:var(--text-secondary);padding:0 16px;font-size:13px;cursor:pointer}.cgpa-required{margin-top:12px;font-size:13px;line-height:1.5;border:1px solid;border-radius:10px;padding:10px 12px;background:#ffffff05}.cgpa-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--grid-line);color:var(--paper)}.cgpa-row:last-child{border-bottom:none}.cgpa-row-sub{font-size:12px;color:var(--text-secondary);margin-top:2px;font-family:JetBrains Mono,monospace}
