@import"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;500;600;700&family=Crimson+Pro:wght@600;700&display=swap";:root{--color-bg: #eaf1fb;--color-surface: #ffffff;--color-surface-muted: #eef4ff;--color-border: #c5d2e6;--color-text: #0f1b2d;--color-text-muted: #475569;--color-primary: #1e3c72;--color-primary-strong: #162a55;--color-accent: #feb414;--color-accent-strong: #f2a400;--color-accent-text: #1f2937;--color-danger: #b91c1c;--color-warning: #b45309;--color-success: #15803d;--shadow-card: 0 10px 24px rgba(15, 23, 42, .08);--shadow-soft: 0 4px 12px rgba(15, 23, 42, .08);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--transition-fast: .15s ease;--transition: .22s ease}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Atkinson Hyperlegible,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.6}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-strong)}#root{min-height:100vh}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:var(--color-primary);border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 6px 16px #0f172a26}.headerText{margin:0;font-family:Crimson Pro,serif;font-size:1.6rem;font-weight:700;color:#fff;letter-spacing:.3px}.headerText small{display:block;margin-top:6px;font-size:.8rem;color:#fffc;font-family:Atkinson Hyperlegible,sans-serif}.header-form-link{font-weight:600;padding:10px 16px;background:var(--color-accent);color:var(--color-accent-text);text-decoration:none;border-radius:999px;font-size:.9rem;transition:transform var(--transition),box-shadow var(--transition),background var(--transition);border:1px solid transparent}.header-form-link:hover{background:var(--color-accent-strong);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.header-form-link:focus-visible{outline:3px solid rgba(30,60,114,.35);outline-offset:2px}.app-main{padding:28px 16px 64px;display:flex;justify-content:center}.panel{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);border-top:4px solid var(--color-accent);box-shadow:var(--shadow-card);padding:24px;animation:fade-up .24s ease}.landing{width:100%;display:flex;justify-content:center}.department{width:min(760px,100%)}h1,h2,h3{font-family:Crimson Pro,serif;color:var(--color-primary)}h1{font-size:1.75rem;text-align:center}h2{text-align:center;font-size:1.4rem}h3{text-align:center;font-size:2.4rem;margin-top:8px}.section-subtitle{text-align:center;color:var(--color-text-muted);font-size:.95rem;margin:6px 0 20px}.section-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.18em}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:#1e3c7240}.yourself,.years,.departments{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.deptB{padding:12px 16px;border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface-muted);width:min(220px,100%);min-height:44px;color:var(--color-text);font-weight:600;border-radius:var(--radius-md);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.deptB:hover{border-color:var(--color-primary);background:#e5eefc;transform:translateY(-1px);box-shadow:var(--shadow-soft)}.deptB.back{background:var(--color-surface-muted)}.deptB:focus-visible{outline:3px solid rgba(30,60,114,.35);outline-offset:2px}.LogoNameWrapper{display:flex;align-items:center;justify-content:center;gap:10px}.deptLogo{width:22px;height:22px;opacity:.85}.deptB:hover .deptLogo{opacity:1}.container{width:min(760px,100%);margin:24px auto;display:flex;flex-direction:column;gap:16px}form{display:grid;gap:16px;width:100%}#sgpaForm,#sgpaFormS,.form-stack{display:grid;gap:16px}label{display:block;font-weight:600;color:var(--color-text);font-size:.95rem}input,select{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;color:var(--color-text);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1d4ed826}.buttons-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.btn{border-radius:10px;padding:10px 18px;font-weight:600;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;min-height:44px;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),background var(--transition);min-width:140px}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);border-color:var(--color-primary)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.btn-primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn-secondary{background:#f3f6ff}.btn:focus-visible{outline:3px solid rgba(30,60,114,.35);outline-offset:2px}.error-message,.inline-error,.error-card{background:#fef2f2;border:1px solid #fecaca;color:var(--color-danger);padding:10px 12px;border-radius:var(--radius-sm);font-weight:600;text-align:center}.error-card p{margin:0}.subject-entry-auto{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,180px);gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.subject-entry-auto label,.subject-entry-auto select{margin:0}.rcon{text-align:center}#disclaimer{text-align:center;margin-top:8px;color:var(--color-text-muted);font-size:.85rem}.result-table-container{width:min(960px,100%)}.proper-result-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.proper-result-table th,.proper-result-table td{padding:12px 10px;text-align:center;font-size:.95rem}.proper-result-table th{background:var(--color-primary);color:#fff;font-weight:700}.proper-result-table td{border-top:1px solid var(--color-border);color:var(--color-text)}.even-row{background:var(--color-surface)}.odd-row{background:#f9fafc}.proper-result-table .grade-badge{padding:2px 10px;border-radius:999px;color:#fff;font-weight:700;font-size:.8rem;display:inline-block;min-width:36px}.table-scroll{width:100%;overflow-x:auto}.result-meta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;color:var(--color-text)}.sgpa-pill{font-weight:700;color:var(--color-primary)}.grade-badge{font-weight:600;font-size:.9rem}.pass{color:var(--color-success);font-weight:600}.fail{color:var(--color-danger);font-weight:600}.student-info{padding:16px 24px;background:var(--color-primary);color:#fff;text-align:center;border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-soft);transition:transform var(--transition),box-shadow var(--transition)}.result-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.result-card h4{margin-bottom:8px;font-size:.95rem;color:var(--color-text)}.result-card p{margin-bottom:12px;font-size:.9rem;color:var(--color-text-muted)}.empty-state{text-align:center;gap:20px}.request-frame{width:100%;min-height:360px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.loading{text-align:center;color:var(--color-text-muted);font-size:1.05rem}.break{width:100%}.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}footer{display:none}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){header{flex-direction:column;text-align:center}.header-form-link{width:100%;text-align:center}.deptB{width:100%}.subject-entry-auto{grid-template-columns:1fr}.buttons-row{flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
