:root{--bg:#f0f7f5;--bg-secondary:#e8f4f0;--surface:hsla(0,0%,100%,.97);--surface-2:hsla(0,0%,100%,.7);--border:rgba(0,0,0,.06);--border-glow:rgba(16,185,129,.25);--text-main:#0f172a;--text-muted:#64748b;--text-accent:#059669;--primary:#10b981;--primary-h:#059669;--primary-light:#d1fae5;--primary-glow:rgba(16,185,129,.3);--blue:#3b82f6;--blue-light:#dbeafe;--orange:#f59e0b;--orange-light:#fef3c7;--red:#ef4444;--grade-s:#10b981;--grade-a:#3b82f6;--grade-b:#6366f1;--grade-c:#f59e0b;--grade-d:#ea580c;--grade-e:#ef4444;--shadow-sm:0 4px 16px rgba(0,0,0,.04);--shadow-md:0 12px 32px rgba(0,0,0,.07);--shadow-lg:0 24px 60px rgba(0,0,0,.1);--shadow-glow:0 0 40px rgba(16,185,129,.2);--sidebar-w:72px;--topbar-h:0px;--radius-xl:28px;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--transition:0.35s cubic-bezier(0.175,0.885,0.32,1.275);--ease:0.3s ease;--hero-h:calc(var(--vh, 1vh) * 70 - 3rem);--scroll-track:rgba(0,0,0,.05);--scroll-thumb:rgba(16,185,129,.4);--navy-0:#07111f;--navy-1:#0b1628;--navy-2:#10243c;--emerald-glow:rgba(16,185,129,.22);--glass-shine:hsla(0,0%,100%,.18)}[data-theme=dark]{--bg:#030814;--bg-secondary:#07111f;--surface:rgba(8,18,34,.86);--surface-2:rgba(12,26,48,.74);--border:hsla(0,0%,100%,.07);--border-glow:rgba(52,211,153,.35);--text-main:#e2f0ec;--text-muted:#7a9e94;--text-accent:#34d399;--primary:#10b981;--primary-h:#34d399;--primary-light:rgba(16,185,129,.15);--primary-glow:rgba(52,211,153,.4);--blue-light:rgba(59,130,246,.15);--orange-light:rgba(245,158,11,.15);--shadow-sm:0 4px 16px rgba(0,0,0,.3);--shadow-md:0 12px 32px rgba(0,0,0,.4);--shadow-lg:0 24px 60px rgba(0,0,0,.5);--shadow-glow:0 0 50px rgba(52,211,153,.25);--scroll-track:hsla(0,0%,100%,.04);--scroll-thumb:rgba(52,211,153,.4);--glass-shine:hsla(0,0%,100%,.08)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}.bnav-btn,.faculty-action,.feat-card,.side-btn,a,button,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.focus-ring{outline:3px solid var(--primary);outline-offset:4px;border-radius:8px}body{font-family:Outfit,sans-serif;background:radial-gradient(circle at top,rgba(16,185,129,.08),transparent 35%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.06),transparent 28%),linear-gradient(180deg,var(--bg) 0,var(--bg-secondary) 100%);color:var(--text-main);min-height:100vh;overflow-x:hidden;transition:background .5s ease,color .5s ease;-webkit-font-smoothing:antialiased;line-height:1.45}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:99px}.mono{font-family:JetBrains Mono,monospace}h1,h2,h3,h4{margin:0 0 .35rem;line-height:1.12}h1{font-size:2.2rem;font-weight:900}h2{font-size:1.45rem}h2,h3{font-weight:800}h3{font-size:1.08rem}.bnav-btn:focus-visible,.btn:focus-visible,.side-btn:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(16,185,129,.95);outline-offset:3px}.ambient-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(48px);opacity:.18;animation:blobDrift 18s ease-in-out infinite alternate}.blob-1{width:600px;height:600px;background:radial-gradient(circle,rgba(16,185,129,.4),transparent 70%);top:-10%;left:-10%;animation-duration:20s}.blob-2{width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.3),transparent 70%);bottom:-8%;right:-8%;animation-duration:16s;animation-delay:3s}.blob-3{width:350px;height:350px;background:radial-gradient(circle,rgba(196,181,253,.25),transparent 70%);top:45%;left:38%;animation-duration:14s;animation-delay:6s}.blob-4{width:280px;height:280px;background:radial-gradient(circle,rgba(245,158,11,.2),transparent 70%);top:20%;right:15%;animation-duration:22s;animation-delay:2s}[data-theme=dark] .blob-1{background:radial-gradient(circle,rgba(16,185,129,.25),transparent 70%)}[data-theme=dark] .blob-2{background:radial-gradient(circle,rgba(59,130,246,.18),transparent 70%)}[data-theme=dark] .blob-3{background:radial-gradient(circle,rgba(52,211,153,.12),transparent 70%)}[data-theme=dark] .blob-4{background:radial-gradient(circle,rgba(16,185,129,.15),transparent 70%)}@keyframes blobDrift{0%{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-20px,50px) scale(.95)}to{transform:translate(30px,20px) scale(1.05)}}#particle-canvas{z-index:0;opacity:.42;mix-blend-mode:screen}#particle-canvas,.page-transition{position:fixed;inset:0;pointer-events:none}.page-transition{z-index:950;opacity:0;background:radial-gradient(circle at center,rgba(16,185,129,.22),transparent 45%),linear-gradient(135deg,rgba(3,8,20,.08),rgba(16,185,129,.12),rgba(59,130,246,.08));transform:scale(1.08);transition:opacity .32s ease,transform .42s cubic-bezier(.175,.885,.32,1.275)}.page-transition.active{opacity:1;transform:scale(1)}.topbar{display:none;position:fixed;top:0;left:0;right:0;height:calc(60px + env(safe-area-inset-top, 0px));z-index:1100;background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);align-items:center;justify-content:space-between;padding:env(safe-area-inset-top,0) 16px 0;gap:12px;transition:background .5s ease}.topbar-brand{display:flex;align-items:center;gap:10px;flex:1 1;justify-content:center}.topbar-logo{height:32px;width:auto;object-fit:contain}.topbar-title{font-size:.95rem;font-weight:700;color:var(--text-main);letter-spacing:-.3px}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:background var(--ease)}.hamburger:hover{background:var(--primary-light)}.hamburger span{display:block;height:2px;border-radius:2px;background:var(--text-main);transition:all .35s cubic-bezier(.68,-.6,.32,1.6);transform-origin:center}.hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.topbar-theme-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--primary-light);color:var(--primary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ease);flex-shrink:0}.topbar-theme-btn:hover{transform:rotate(20deg) scale(1.1)}.drawer-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease}.drawer-overlay,.drawer-overlay.visible{pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none}.drawer-overlay.visible{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s linear 0s}.app-container{display:flex;width:100%;max-width:1200px;margin:0 auto;padding:1.6rem;gap:2rem;align-items:flex-start;min-height:100vh;position:relative;overflow-x:hidden}.tool-section{scroll-margin-top:24px;min-width:0;max-width:100%}.sidebar-wrapper{position:-webkit-sticky;position:sticky;top:2rem;height:calc(100vh - 4rem);width:var(--sidebar-w);z-index:200;flex-shrink:0}.floating-sidebar{width:var(--sidebar-w);height:100%;background:var(--surface);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:40px;border:1px solid var(--border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;padding:16px 0 14px;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;transition:background .5s ease,border-color .5s ease,box-shadow .5s ease}.sidebar-wrapper.drawer-open .floating-sidebar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;isolation:isolate;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.floating-sidebar::-webkit-scrollbar{width:0;height:0}[data-theme=dark] .floating-sidebar{box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px rgba(52,211,153,.08)}.brand-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;margin-bottom:1.8rem;flex-shrink:0}.college-logo-small{width:100%;height:auto;object-fit:contain}.nav-items{display:flex;flex-direction:column;gap:.8rem;width:100%;align-items:center;flex:1 1}.side-btn[data-tooltip]{position:relative}.side-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;left:calc(100% + 16px);top:50%;transform:translateY(-50%) scale(.85);background:var(--text-main);color:var(--bg);font-size:.75rem;font-weight:600;padding:6px 10px;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;transition:all .2s ease;z-index:999}.side-btn[data-tooltip]:not(:hover):before{opacity:0}.side-btn{display:flex;align-items:center;height:46px;width:46px;min-width:46px;border-radius:23px;background:transparent;border:1px solid transparent;cursor:pointer;position:relative;white-space:nowrap;transition:width .38s cubic-bezier(.175,.885,.32,1.275),background .25s ease,box-shadow .25s ease,border-color .25s ease,transform .15s ease}.side-btn i{width:46px;font-size:1.1rem;color:var(--text-muted);flex-shrink:0;text-align:center;transition:color .3s ease,transform .3s ease}.side-btn .nav-text{font-size:.88rem;font-weight:700;color:var(--primary);opacity:0;pointer-events:none;transform:translateX(-8px);transition:opacity .25s ease .05s,transform .25s ease .05s;padding-right:18px;white-space:nowrap}.side-btn.active:not(:hover){background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.3);width:46px}.side-btn.active:not(:hover) i{color:var(--primary)}.side-btn.active:not(:hover) .nav-text{opacity:0}.side-btn:hover{width:190px!important;background:rgba(16,185,129,.16)!important;border:1.5px solid #10b981!important;box-shadow:0 4px 18px rgba(16,185,129,.22)!important;z-index:100}.side-btn:hover .nav-text{opacity:1!important;transform:translateX(0)!important}.side-btn:hover i{color:var(--primary)!important;transform:scale(1.1)}[data-theme=dark] .side-btn.active:not(:hover){background:rgba(16,185,129,.16);border-color:rgba(52,211,153,.3)}[data-theme=dark] .side-btn:hover{background:rgba(16,185,129,.22)!important;border-color:#34d399!important;box-shadow:0 6px 24px rgba(52,211,153,.3)!important}.side-btn.active{width:200px;max-width:calc(100vw - 56px);background:var(--primary-light);border-color:var(--border-glow);box-shadow:0 6px 20px var(--primary-glow);z-index:10}[data-theme=dark] .side-btn.active,[data-theme=dark] .side-btn:hover{background:rgba(16,185,129,.12);box-shadow:0 6px 24px rgba(52,211,153,.25),0 0 0 1px rgba(52,211,153,.2)}.side-btn.active i,.side-btn:hover i{color:var(--primary);transform:scale(1.1)}.side-btn.active .nav-text,.side-btn:hover .nav-text{opacity:1;transform:translateX(0)}.side-btn:active{transform:scale(.94)}.side-btn.active:after{content:"";position:absolute;right:-1px;top:25%;height:50%;width:3px;background:var(--primary);border-radius:3px 0 0 3px;box-shadow:0 0 8px var(--primary-glow)}.nav-divider{width:32px;height:1px;background:linear-gradient(90deg,transparent,var(--border-glow),transparent);margin:.2rem 0;border-radius:2px;flex-shrink:0}a.side-btn{text-decoration:none}.side-btn.portal-btn{animation:subtleFloat 3.5s ease-in-out infinite alternate}.side-btn.portal-btn .nav-text,.side-btn.portal-btn i{background:linear-gradient(135deg,#6366f1,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.side-btn.portal-btn.active,.side-btn.portal-btn:hover{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.25);box-shadow:0 6px 24px rgba(99,102,241,.25);animation:none}.side-btn.food-btn{animation:subtleFloat 3.5s ease-in-out infinite alternate;animation-delay:.9s}.side-btn.food-btn .nav-text,.side-btn.food-btn i{background:linear-gradient(135deg,#f97316,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.side-btn.food-btn.active,.side-btn.food-btn:hover{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.25);box-shadow:0 6px 24px rgba(249,115,22,.25);animation:none}@keyframes subtleFloat{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.sidebar-footer{margin-top:auto;padding-top:1rem;width:100%;display:flex;justify-content:center;flex-shrink:0}.theme-toggle-sidebar{display:flex;align-items:center;height:48px;width:48px;border-radius:24px;background:transparent;border:1px solid transparent;cursor:pointer;overflow:hidden;white-space:nowrap;transition:width .45s cubic-bezier(.175,.885,.32,1.275),background .3s ease,box-shadow .3s ease;position:relative}.theme-toggle-sidebar i{width:48px;font-size:1.1rem;color:var(--text-muted);flex-shrink:0;text-align:center;transition:color .3s ease,transform .5s ease}.theme-toggle-sidebar .nav-text{font-size:.88rem;font-weight:600;color:var(--text-muted);opacity:0;transform:translateX(-8px);transition:opacity .25s ease .08s,transform .25s ease .08s;padding-right:20px}.theme-toggle-sidebar:hover{width:200px;background:var(--primary-light);box-shadow:0 6px 20px var(--primary-glow)}.theme-toggle-sidebar:hover i{color:var(--primary);transform:rotate(20deg)}.theme-toggle-sidebar:hover .nav-text{opacity:1;transform:translateX(0)}.main-content{flex:1 1;width:100%;min-width:0;padding-bottom:2rem}.section-header{display:flex;align-items:center;gap:14px;margin-bottom:1.35rem;animation:fadeUp .5s ease forwards}.section-icon-wrap{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.section-icon-wrap.green{background:var(--primary-light);color:var(--primary);box-shadow:0 0 20px var(--primary-glow)}.section-icon-wrap.blue{background:var(--blue-light);color:var(--blue);box-shadow:0 0 20px rgba(59,130,246,.2)}.section-icon-wrap.orange{background:var(--orange-light);color:var(--orange);box-shadow:0 0 20px rgba(245,158,11,.2)}.section-title{font-size:1.45rem;font-weight:800;color:var(--text-main);letter-spacing:-.45px}.section-sub{font-size:.82rem;color:var(--text-muted);margin-top:2px;line-height:1.45}.hero-card{text-align:center;padding:2rem!important;min-height:420px;height:auto;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:var(--surface)!important;border:1px solid var(--border-glow)!important}[data-theme=dark] .hero-card{background:linear-gradient(145deg,rgba(11,22,40,.98),rgba(7,17,31,.95))!important;box-shadow:0 0 80px rgba(52,211,153,.08),var(--shadow-lg)!important}.hero-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 60% 30%,rgba(16,185,129,.08),transparent 60%),radial-gradient(ellipse at 20% 80%,rgba(59,130,246,.06),transparent 55%);overflow:hidden;padding:1rem!important}.hero-card:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.16),transparent);animation:shimmer 11s ease-in-out infinite;pointer-events:none}[data-theme=dark] .hero-card:after{background:linear-gradient(90deg,transparent,rgba(52,211,153,.04),transparent)}@keyframes shimmer{0%{left:-100%;opacity:0}20%{opacity:1}60%{left:160%;opacity:0}to{left:160%;opacity:0}}.hero-ring{position:absolute;border-radius:50%;border:1px solid rgba(16,185,129,.1);pointer-events:none;animation:ringPulse 6s ease-in-out infinite}[data-theme=dark] .hero-ring{border-color:rgba(52,211,153,.08)}.ring-1{width:500px;height:500px}.ring-1,.ring-3{top:50%;left:50%;transform:translate(-50%,-50%)}.ring-3{width:950px;height:950px;border-color:rgba(196,181,253,.05);animation-delay:3s}.orb-c,.ring-2{display:none}@keyframes ringPulse{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.03)}}.hero-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(50px);animation:orbFloat 9s ease-in-out infinite alternate}.orb-a{width:200px;height:200px;background:rgba(16,185,129,.12);top:8%;left:4%;animation-duration:10s}.orb-b{width:160px;height:160px;background:rgba(59,130,246,.1);bottom:10%;right:6%;animation-duration:12s;animation-delay:2s}.orb-c{width:120px;height:120px;background:rgba(196,181,253,.15);top:60%;left:12%;animation-duration:8s;animation-delay:4s}[data-theme=dark] .orb-a{background:rgba(52,211,153,.1)}[data-theme=dark] .orb-b{background:rgba(59,130,246,.08)}@keyframes orbFloat{0%{transform:translate(0) scale(1)}to{transform:translate(35px,-28px) scale(1.18)}}.hero-content{display:flex;flex-direction:column;gap:.84rem;width:100%;max-width:920px;z-index:2}.hero-content,.logo-wrapper{align-items:center;position:relative}.logo-wrapper{display:inline-flex;justify-content:center;margin-bottom:.2rem}.logo-glow-ring{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.08),transparent 70%);animation:logoGlow 3s ease-in-out infinite alternate}[data-theme=dark] .logo-glow-ring{background:radial-gradient(circle,rgba(52,211,153,.15),transparent 70%)}@keyframes logoGlow{0%{transform:scale(.88);opacity:.5}to{transform:scale(1.12);opacity:1}}.hero-logo.static-logo{width:220px;max-width:80%;height:auto;filter:drop-shadow(0 8px 24px rgba(16,185,129,.2));transition:transform .4s ease;position:relative;z-index:1}.hero-logo.static-logo:hover{transform:scale(1.05) translateY(-5px)}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--primary-light);color:var(--primary);border:1px solid var(--border-glow);padding:6px 16px;border-radius:99px;font-size:.8rem;font-weight:700;letter-spacing:.5px;box-shadow:0 0 18px var(--primary-glow)}.gradient-text{background:linear-gradient(135deg,var(--text-main) 0,var(--primary) 50%,var(--blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:2.4rem;font-weight:900;letter-spacing:-1.5px;line-height:1.1;background-size:200%;animation:gradShift 5s ease infinite}[data-theme=dark] .gradient-text{background:linear-gradient(135deg,#e2f0ec,#34d399 50%,#60a5fa);-webkit-background-clip:text;background-clip:text;background-size:200%}@keyframes gradShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.subtitle{font-size:.95rem;color:var(--text-muted);max-width:560px;margin:0 auto;line-height:1.65}.hero-stats{display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border-glow);border-radius:99px;padding:10px 22px;box-shadow:0 4px 20px var(--primary-glow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:0}.hero-feature-label{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid rgba(16,185,129,.18);background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(59,130,246,.08));color:var(--primary);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.stat-pill{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:var(--text-muted);padding:0 14px;transition:color var(--ease)}.stat-pill:hover{color:var(--primary)}.stat-pill{cursor:pointer;transition:transform var(--transition),box-shadow var(--ease),color var(--ease)}.stat-pill:active{transform:translateY(1px) scale(.996)}.stat-pill:focus{outline:2px solid var(--primary);outline-offset:3px}.stat-pill i{color:var(--primary);font-size:.82rem}.stat-divider{width:1px;height:18px;background:var(--border-glow)}.quick-actions{margin-top:.2rem}.pulse-btn{animation:pulseGlow 2.5s ease-in-out infinite;padding:14px 38px;border-radius:99px;font-size:1rem;gap:10px}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}60%{box-shadow:0 0 0 18px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.feature-cards{display:flex;gap:12px;margin-top:.45rem;width:100%;max-width:900px;flex-wrap:wrap;justify-content:center}.feat-card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;cursor:pointer;flex:1 1 220px;min-width:0;transition:transform .28s cubic-bezier(.175,.885,.32,1.275),box-shadow .28s ease,border-color .28s ease,background .28s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.feat-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,185,129,.04),transparent);opacity:0;transition:opacity var(--ease);border-radius:inherit}.feat-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px var(--primary-glow);border-color:var(--border-glow);cursor:pointer}.feat-card:hover:before{opacity:1}.feat-card:active{transform:scale(.97)}.feat-card:focus{outline:2px solid var(--primary);outline-offset:4px}.feat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0}.feat-icon.green{background:var(--primary-light);color:var(--primary)}.feat-icon.blue{background:var(--blue-light);color:var(--blue)}.feat-icon.orange{background:var(--orange-light);color:var(--orange)}.feat-text{display:flex;flex-direction:column;text-align:left;flex:1 1;min-width:0}.feat-text strong{font-size:.88rem;font-weight:700;color:var(--text-main)}.feat-text span{font-size:.73rem;color:var(--text-muted)}.feat-arrow{color:var(--text-muted);font-size:.78rem;transition:all .3s ease;flex-shrink:0}.feat-card:hover .feat-arrow{color:var(--primary);transform:translateX(4px)}.hero-content .logo-wrapper{opacity:0;animation:fadeUp .8s cubic-bezier(.175,.885,.32,1.275) .1s forwards}.hero-content .hero-badge{opacity:0;animation:fadeUp .8s cubic-bezier(.175,.885,.32,1.275) .2s forwards}.hero-content .gradient-text{opacity:0;animation:fadeUp .8s cubic-bezier(.175,.885,.32,1.275) .3s forwards}.hero-content .subtitle{opacity:0;animation:fadeUp .8s cubic-bezier(.175,.885,.32,1.275) .4s forwards}.hero-content .hero-stats{opacity:0;animation:fadeUp .8s cubic-bezier(.175,.885,.32,1.275) .45s forwards}.hero-content .quick-actions{opacity:0;animation:fadeUp .8s cubic-bezier(.175,.885,.32,1.275) .52s forwards}.feat-card:first-child{animation:featIn .65s cubic-bezier(.175,.885,.32,1.275) .6s both}.feat-card:nth-child(2){animation:featIn .65s cubic-bezier(.175,.885,.32,1.275) .72s both}.feat-card:nth-child(3){animation:featIn .65s cubic-bezier(.175,.885,.32,1.275) .84s both}@keyframes featIn{0%{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tool-section{display:none;width:100%;animation:fadeUp .5s ease forwards}.tool-section.active-section{display:block;animation:sectionReveal .55s cubic-bezier(.175,.885,.32,1.275) both}.split-layout{display:grid;grid-template-columns:.95fr 1.05fr;grid-gap:2.2rem;gap:2.2rem;width:100%;align-items:start}.glass-card{background:var(--surface);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.6rem;box-shadow:0 8px 20px rgba(0,0,0,.05);display:flex;flex-direction:column;transition:background .5s ease,border-color .4s ease,box-shadow var(--transition),transform var(--transition)}.glass-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,hsla(0,0%,100%,.12),transparent 40%,rgba(16,185,129,.22));opacity:.5;pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.panel-left{justify-content:space-between}[data-theme=dark] .glass-card{background:rgba(11,22,40,.92);box-shadow:0 14px 34px rgba(0,0,0,.35),0 0 0 1px rgba(52,211,153,.05)}.tilt-card{transform-style:preserve-3d;will-change:transform}.tilt-card:hover{box-shadow:var(--shadow-lg),0 0 40px var(--primary-glow);border-color:var(--border-glow)}[data-theme=dark] .tilt-card:hover{box-shadow:var(--shadow-lg),0 0 50px rgba(52,211,153,.2),0 0 0 1px rgba(52,211,153,.15)}.card-header{display:flex;align-items:center;gap:14px;margin-bottom:1.8rem}.card-header h3{font-size:1.2rem;font-weight:700;color:var(--text-main)}.card-header p{color:var(--text-muted);font-size:.85rem}.card-header{gap:12px;margin-bottom:1.25rem}.card-header h3{font-size:1.08rem}.card-header p{font-size:.8rem;line-height:1.45}.icon-box{width:50px;height:50px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.icon-box.green{background:var(--primary-light);color:var(--primary)}.icon-box.blue{background:var(--blue-light);color:var(--blue)}.icon-box.orange{background:var(--orange-light);color:var(--orange)}.icon-box.large{width:72px;height:72px;font-size:2.2rem;background:var(--surface-2);color:var(--text-muted);margin:0 auto 1.3rem;border-radius:50%;transition:all .4s ease}.grade-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:1.8rem}.grade-input-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:9px;transition:all .3s ease}.grade-input-box:focus-within,.grade-input-box:hover{border-color:var(--border-glow);background:var(--surface);box-shadow:0 5px 18px var(--primary-glow);transform:translateY(-2px)}.grade-label{display:flex;align-items:center;gap:8px;font-size:.87rem;font-weight:600;color:var(--text-main)}.sub-text{color:var(--text-muted);font-size:.72rem;margin-left:auto}.badge{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff;flex-shrink:0}.s-badge{background:var(--grade-s)}.a-badge{background:var(--grade-a)}.b-badge{background:var(--grade-b)}.c-badge{background:var(--grade-c)}.d-badge{background:var(--grade-d)}.e-badge{background:var(--grade-e)}.input-container{display:flex;flex-direction:column;gap:1.3rem;margin-bottom:1.8rem}.input-group label{display:block;font-size:.88rem;font-weight:600;margin-bottom:7px;color:var(--text-main)}.input-wrap{position:relative}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.9rem;pointer-events:none;transition:color .3s ease}.input-wrap:focus-within .input-icon{color:var(--primary)}input[type=number]{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px 13px 40px;color:var(--text-main);font-size:1rem;font-weight:600;font-family:Outfit,sans-serif;outline:none;transition:all .3s ease;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.grade-input-box input[type=number]{padding:10px 14px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]:focus,input[type=number]:hover{border-color:var(--border-glow);box-shadow:0 4px 14px var(--primary-glow);background:var(--surface)}[data-theme=dark] input[type=number]{background:rgba(7,17,31,.6)}[data-theme=dark] input[type=number]:focus{background:rgba(11,22,40,.8)}.action-buttons{display:flex;gap:12px}.btn{padding:13px 20px;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;gap:8px;position:relative;overflow:hidden}.btn,.primary-btn{border:none;align-items:center;justify-content:center}.primary-btn{flex:1 1;min-height:48px;padding:14px 22px;background:linear-gradient(135deg,var(--primary),var(--primary-h));color:#fff;box-shadow:0 6px 18px rgba(16,185,129,.18);display:inline-flex;gap:10px}.primary-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(16,185,129,.2);filter:brightness(1.06)}.primary-btn:active{transform:scale(.985)}[data-theme=dark] .primary-btn{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 4px 20px rgba(52,211,153,.35);color:#07111f}.outline-btn{flex:1 1;background:var(--surface-2);border:1px solid var(--border);color:var(--text-main)}.outline-btn:hover{background:var(--primary-light);border-color:var(--border-glow);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.outline-btn:active{transform:scale(.96)}.full-width{width:100%}.magnetic-btn:after{content:"";position:absolute;inset:0;border-radius:inherit;background:hsla(0,0%,100%,.2);opacity:0;transition:opacity .15s ease;pointer-events:none}.magnetic-btn:active:after{opacity:1}.result-panel{text-align:center;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:relative;overflow:visible;min-height:360px;padding:1.8rem 1.2rem 1.2rem;border-radius:24px;border:1px solid rgba(16,185,129,.12);background:radial-gradient(circle at top left,rgba(16,185,129,.06),transparent 34%),radial-gradient(circle at 100% 0,rgba(59,130,246,.04),transparent 28%),linear-gradient(180deg,hsla(0,0%,100%,.98),hsla(0,0%,100%,.94));box-shadow:0 10px 28px rgba(15,23,42,.06),inset 0 1px 0 hsla(0,0%,100%,.6);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.result-panel:before{inset:0;border-radius:inherit;background:linear-gradient(135deg,hsla(0,0%,100%,.12),transparent 35%,rgba(16,185,129,.08));opacity:.42}.result-panel:after,.result-panel:before{content:"";position:absolute;pointer-events:none}.result-panel:after{inset:auto -48px -48px auto;width:200px;height:200px;background:radial-gradient(circle,rgba(16,185,129,.12),transparent 68%);opacity:.34;filter:blur(4px)}.result-panel[data-mood=elite]{--result-accent:#7c3aed;--panel-backplate:rgba(0,0,0,.12);--panel-btn-bg:hsla(0,0%,100%,.92);--panel-btn-text:#07111f;--result-accent-2:#22c55e;border-color:rgba(124,58,237,.22);background:radial-gradient(circle at top left,rgba(124,58,237,.18),transparent 35%),radial-gradient(circle at 100% 0,rgba(34,197,94,.1),transparent 30%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,245,255,.95));box-shadow:0 28px 70px rgba(124,58,237,.12),0 0 0 1px rgba(124,58,237,.08)}.result-panel[data-mood=success]{--result-accent:#10b981;--panel-backplate:rgba(0,0,0,.12);--panel-btn-bg:hsla(0,0%,100%,.92);--panel-btn-text:#07111f;border-color:rgba(16,185,129,.22);background:radial-gradient(circle at top left,rgba(16,185,129,.18),transparent 35%),radial-gradient(circle at 100% 0,rgba(59,130,246,.1),transparent 30%),linear-gradient(180deg,hsla(0,0%,100%,.99),rgba(240,253,244,.94));box-shadow:0 28px 70px rgba(16,185,129,.12),0 0 0 1px rgba(16,185,129,.08)}.result-panel[data-mood=good]{--result-accent:#2563eb;--panel-backplate:rgba(0,0,0,.1);--panel-btn-bg:hsla(0,0%,100%,.92);--panel-btn-text:#07111f;border-color:rgba(37,99,235,.2);background:radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 35%),radial-gradient(circle at 100% 0,rgba(16,185,129,.1),transparent 30%),linear-gradient(180deg,hsla(0,0%,100%,.99),rgba(239,246,255,.95));box-shadow:0 28px 70px rgba(37,99,235,.12),0 0 0 1px rgba(37,99,235,.08)}.result-panel[data-mood=warm]{--panel-backplate:rgba(0,0,0,.14);--panel-btn-bg:hsla(0,0%,100%,.92);--panel-btn-text:#07111f;--result-accent-2:#ec4899;border-color:rgba(245,158,11,.22);background:radial-gradient(circle at top left,rgba(245,158,11,.18),transparent 35%),radial-gradient(circle at 100% 0,rgba(236,72,153,.1),transparent 30%),linear-gradient(180deg,hsla(0,0%,100%,.99),rgba(255,251,235,.95));box-shadow:0 28px 70px rgba(245,158,11,.12),0 0 0 1px rgba(245,158,11,.08)}.result-panel[data-mood=danger]{--panel-backplate:hsla(0,0%,100%,.12);--panel-btn-bg:hsla(0,0%,100%,.94);--panel-btn-text:#07111f;border-color:rgba(239,68,68,.22);background:radial-gradient(circle at top left,rgba(239,68,68,.16),transparent 35%),radial-gradient(circle at 100% 0,rgba(249,115,22,.1),transparent 30%),linear-gradient(180deg,hsla(0,0%,100%,.99),hsla(0,100%,98%,.95));box-shadow:0 28px 70px rgba(239,68,68,.12),0 0 0 1px rgba(239,68,68,.08)}[data-theme=dark] .result-panel{background:radial-gradient(circle at top left,rgba(16,185,129,.1),transparent 34%),radial-gradient(circle at 100% 0,rgba(59,130,246,.07),transparent 28%),linear-gradient(180deg,rgba(11,22,40,.98),rgba(8,18,34,.94));border-color:rgba(52,211,153,.16);box-shadow:0 14px 34px rgba(0,0,0,.33),0 0 0 1px rgba(52,211,153,.06)}[data-theme=dark] .result-panel[data-mood=elite]{background:radial-gradient(circle at top left,rgba(124,58,237,.22),transparent 35%),radial-gradient(circle at 100% 0,rgba(34,197,94,.12),transparent 30%),linear-gradient(180deg,rgba(11,22,40,.98),rgba(8,18,34,.96))}[data-theme=dark] .result-panel[data-mood=success]{background:radial-gradient(circle at top left,rgba(16,185,129,.2),transparent 35%),radial-gradient(circle at 100% 0,rgba(59,130,246,.12),transparent 30%),linear-gradient(180deg,rgba(11,22,40,.98),rgba(8,18,34,.96))}[data-theme=dark] .result-panel[data-mood=good]{background:radial-gradient(circle at top left,rgba(37,99,235,.18),transparent 35%),radial-gradient(circle at 100% 0,rgba(16,185,129,.12),transparent 30%),linear-gradient(180deg,rgba(11,22,40,.98),rgba(8,18,34,.96))}[data-theme=dark] .result-panel[data-mood=warm]{background:radial-gradient(circle at top left,rgba(245,158,11,.18),transparent 35%),radial-gradient(circle at 100% 0,rgba(236,72,153,.12),transparent 30%),linear-gradient(180deg,rgba(11,22,40,.98),rgba(8,18,34,.96))}[data-theme=dark] .result-panel[data-mood=danger]{background:radial-gradient(circle at top left,rgba(239,68,68,.18),transparent 35%),radial-gradient(circle at 100% 0,rgba(249,115,22,.12),transparent 30%),linear-gradient(180deg,rgba(11,22,40,.98),rgba(8,18,34,.96))}.empty-state{transition:opacity .3s ease;padding:1rem 0 .25rem}.empty-state h3{font-size:1.3rem;margin-bottom:8px;color:var(--text-main);font-weight:800;letter-spacing:-.03em}.empty-state p{color:var(--text-muted);font-size:.9rem;line-height:1.7;max-width:280px;margin:0 auto;opacity:.86}.result-state{animation:resultPop .75s cubic-bezier(.175,.885,.32,1.275) both;width:100%}.result-state,.result-state>*{position:relative;z-index:1}.result-title{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.28em;font-weight:800;display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;padding:7px 14px;border-radius:999px;border:1px solid rgba(16,185,129,.14);background:hsla(0,0%,100%,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.result-panel[data-mood] .result-title{color:var(--result-accent,var(--text-muted));border-color:rgba(16,185,129,.22)}.huge-result{font-size:clamp(4rem,7vw,6.8rem);font-weight:900;line-height:.92;margin:10px 0 12px;letter-spacing:-.08em;background:linear-gradient(135deg,var(--result-accent,var(--primary)) 0,var(--result-accent-2,var(--blue)) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 12px 22px rgba(16,185,129,.12));animation:floatResult 5s ease-in-out infinite}[data-theme=dark] .huge-result{filter:drop-shadow(0 14px 26px rgba(52,211,153,.12))}.result-desc{font-size:.95rem;font-weight:700;padding:10px 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.62);border:1px solid rgba(16,185,129,.12);color:var(--text-muted);box-shadow:0 8px 18px rgba(15,23,42,.05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=dark] .result-desc{background:rgba(11,22,40,.7);border-color:rgba(52,211,153,.12)}.result-panel[data-mood] .result-desc{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.94);box-shadow:0 10px 22px rgba(0,0,0,.12)}.result-bar-wrap{width:100%;height:8px;background:rgba(15,23,42,.06);border-radius:99px;margin-top:12px;overflow:hidden;border:1px solid rgba(15,23,42,.08);box-shadow:inset 0 1px 2px hsla(0,0%,100%,.8)}.result-bar{height:100%;border-radius:99px;background:#3b82f6;width:0;transition:width 1.2s cubic-bezier(.175,.885,.32,1.275);box-shadow:none;position:relative;overflow:hidden}.result-bar:after{content:none;position:absolute;display:none}.attendance-ring-wrap{position:relative;width:150px;height:150px;margin:18px auto}.att-ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:rgba(148,163,184,.18);stroke-width:8}.ring-fill{fill:none;stroke:var(--result-accent,var(--primary));stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.175,.885,.32,1.275),stroke .4s ease;filter:drop-shadow(0 0 10px rgba(16,185,129,.35));animation:ringGlow 3.5s ease-in-out infinite}.ring-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;font-weight:900;color:#fff;font-family:JetBrains Mono,monospace;letter-spacing:-.05em;padding:6px 10px;border-radius:12px;background:rgba(0,0,0,.18);box-shadow:0 6px 18px rgba(0,0,0,.28)}.bunk-attendance-display{justify-content:center;gap:10px;margin-bottom:1.4rem;padding:10px 16px;background:hsla(0,0%,100%,.6);border-radius:999px;border:1px solid rgba(16,185,129,.14);box-shadow:0 10px 24px rgba(15,23,42,.05)}.attendance-label{font-size:.76rem;font-weight:800;color:var(--text-muted);text-transform:uppercase}.attendance-value{font-size:1.7rem;font-weight:900;color:var(--result-accent,var(--primary));letter-spacing:-.05em}.hidden{display:none!important}.download-actions{display:flex;margin-top:16px;flex-wrap:wrap}.download-actions,.small-btn{gap:8px;justify-content:center}.small-btn{padding:10px 14px;font-size:.86rem;border-radius:999px;display:inline-flex;align-items:center;background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(59,130,246,.1));border:1px solid rgba(16,185,129,.14);color:var(--text-main);box-shadow:0 8px 20px rgba(15,23,42,.07);transition:transform .22s cubic-bezier(.175,.885,.32,1.275),box-shadow .22s ease,border-color .22s ease,background .22s ease;flex:1 1 140px}.small-btn:hover{transform:translateY(-3px);border-color:rgba(16,185,129,.26);box-shadow:0 12px 22px rgba(16,185,129,.12)}.small-btn i{font-size:.95rem}.small-btn.outline-btn{background:linear-gradient(135deg,hsla(0,0%,100%,.92),hsla(0,0%,100%,.7));color:var(--text-main);border-color:rgba(16,185,129,.12)}[data-theme=dark] .small-btn{background:linear-gradient(135deg,rgba(16,185,129,.18),rgba(59,130,246,.14));color:#e8f6f1;border-color:rgba(52,211,153,.16)}[data-theme=dark] .small-btn.outline-btn{background:linear-gradient(135deg,rgba(8,18,34,.88),rgba(12,26,48,.72))}.result-panel[data-mood] .small-btn{background:hsla(0,0%,100%,.14);border-color:hsla(0,0%,100%,.14);color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.12)}.result-panel[data-mood] .small-btn.outline-btn{background:hsla(0,0%,100%,.06);color:#fff;border-color:hsla(0,0%,100%,.12)}.faculty-hero-strip{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 12px;padding:4px 2px 14px;border-bottom:1px solid rgba(16,185,129,.08)}.faculty-hero-copy{max-width:720px}.faculty-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:800;color:var(--primary)}.faculty-kicker:before{content:"";width:28px;height:1px;background:currentColor;opacity:.65}.faculty-hero-strip h3{font-size:clamp(1.25rem,1.8vw,1.8rem);line-height:1.12;letter-spacing:-.04em;color:var(--text-main);font-weight:900;margin-bottom:8px}.faculty-hero-strip p{color:var(--text-muted);font-size:.92rem;line-height:1.6;max-width:58ch}.faculty-hero-pill{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 14px;border-radius:999px;border:1px solid rgba(16,185,129,.18);background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(59,130,246,.12));color:var(--primary);font-weight:800;box-shadow:0 12px 24px rgba(16,185,129,.08)}.faculty-shell{gap:.85rem;background:linear-gradient(180deg,hsla(0,0%,100%,.96),hsla(0,0%,100%,.92));border-color:rgba(16,185,129,.14)}[data-theme=dark] .faculty-shell{background:linear-gradient(180deg,rgba(11,22,40,.96),rgba(8,18,34,.92))}.faculty-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.faculty-search-wrap{position:relative;flex:1 1 320px;min-width:240px}.faculty-search-wrap i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.faculty-search-wrap input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px 14px 42px;color:var(--text-main);font-size:.95rem;outline:none;transition:all .25s ease}.faculty-search-wrap input:focus{border-color:var(--border-glow);box-shadow:0 0 0 4px var(--primary-light);background:var(--surface)}.faculty-count{padding:10px 14px;border-radius:999px;background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(59,130,246,.1));color:var(--primary);font-size:.82rem;font-weight:700;white-space:nowrap;border:1px solid rgba(16,185,129,.16);box-shadow:0 10px 20px rgba(16,185,129,.08)}.faculty-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.faculty-card{background:linear-gradient(180deg,hsla(0,0%,100%,.96),var(--surface-2));border:1px solid var(--border);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 20px rgba(0,0,0,.05);transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),border-color .25s ease;opacity:0;transform:translateY(16px) scale(.985);animation:facultyCardIn .72s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:var(--faculty-delay,0ms);will-change:transform,box-shadow;position:relative;overflow:hidden}[data-theme=dark] .faculty-card{background:linear-gradient(180deg,rgba(11,22,40,.96),rgba(8,18,34,.92))}.faculty-card:after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--primary),rgba(59,130,246,.9));border-radius:20px 0 0 20px;opacity:.95}.faculty-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,185,129,.06),transparent 45%);opacity:0;transition:opacity .25s ease}.faculty-card:hover{transform:translateY(-4px) scale(1.006);border-color:var(--border-glow);box-shadow:0 14px 30px rgba(15,23,42,.08),0 0 0 1px rgba(16,185,129,.1),0 0 18px rgba(16,185,129,.08)}.faculty-card:hover:before{opacity:1}.faculty-info{gap:12px;position:relative;z-index:1}.faculty-badge,.faculty-info{display:flex;align-items:center}.faculty-badge{width:52px;height:52px;border-radius:16px;justify-content:center;color:var(--primary);background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(59,130,246,.12));flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(16,185,129,.14)}.faculty-text h3{font-size:1.08rem;font-weight:800;color:var(--text-main);line-height:1.25;letter-spacing:-.25px}.faculty-text p{font-size:.86rem;color:var(--text-muted);margin-top:4px;word-break:break-word}.faculty-actions{display:flex;gap:10px;position:relative;z-index:1}.faculty-action{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;border-radius:12px;text-decoration:none;font-size:.84rem;font-weight:700;transition:transform .25s ease,filter .25s ease,box-shadow .25s ease}.faculty-action:hover{transform:translateY(-3px);filter:brightness(1.04)}.faculty-action.call{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 10px 22px rgba(16,185,129,.22)}.faculty-action.whatsapp{color:#fff;background:linear-gradient(135deg,#25d366,#128c7e);box-shadow:0 10px 22px rgba(37,211,102,.18)}.faculty-empty{margin-top:2px;min-height:240px;padding:1.5rem;border-radius:24px;border:1px dashed rgba(16,185,129,.18);background:linear-gradient(180deg,rgba(16,185,129,.06),rgba(59,130,246,.04));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;animation:facultyStateIn .45s ease both}[data-theme=dark] .faculty-empty{background:linear-gradient(180deg,rgba(16,185,129,.08),rgba(59,130,246,.05));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06)}.faculty-empty .icon-box.large{width:68px;height:68px;margin:0}.faculty-empty .icon-box.large i{font-size:1.25rem}.faculty-empty h3{margin:0;font-size:1.08rem;font-weight:900;letter-spacing:-.03em;color:var(--text-main)}.faculty-empty p{color:var(--text-muted);font-size:.92rem;line-height:1.6;max-width:34ch}@keyframes facultyCardIn{0%{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes facultyStateIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.year-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.year-btn{padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,hsla(0,0%,100%,.78),var(--surface-2));color:var(--text-main);font-weight:800;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}[data-theme=dark] .year-btn{background:linear-gradient(180deg,rgba(11,22,40,.92),rgba(8,18,34,.88))}.year-btn:hover{transform:translateY(-2px);border-color:var(--border-glow);box-shadow:0 10px 24px rgba(16,185,129,.14)}.year-btn.active{background:linear-gradient(135deg,var(--primary),var(--primary-h));color:#fff;box-shadow:0 10px 28px var(--primary-glow);transform:translateY(-2px)}.todo-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:800;color:var(--primary);margin-bottom:10px}.todo-kicker:before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}.todo-hero-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}.todo-hero-copy{flex:1 1 520px;max-width:720px}.todo-hero-strip h3{font-size:clamp(1.35rem,1.8vw,1.9rem);font-weight:900;color:var(--text-main);margin-bottom:4px;letter-spacing:-.04em}.todo-hero-strip p{color:var(--text-muted);font-size:.92rem;line-height:1.5;max-width:60ch}.todo-hero-pill{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 14px;flex:0 0 auto;margin-left:auto;border-radius:999px;background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(59,130,246,.12));color:var(--primary);font-weight:800;border:1px solid rgba(16,185,129,.18);box-shadow:0 12px 24px rgba(16,185,129,.08)}.todo-hero-pill i{font-size:.92rem}.dept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.dept-grid-expanded{margin-top:2px}.dept-card{position:relative;background:linear-gradient(180deg,hsla(0,0%,100%,.92),var(--surface-2));border:1px solid var(--border);border-radius:20px;padding:18px 16px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:156px;box-shadow:var(--shadow-sm);overflow:hidden;cursor:pointer;opacity:0;transform:translateY(14px) scale(.985);animation:deptCardIn .72s cubic-bezier(.175,.885,.32,1.275) forwards;will-change:transform,box-shadow;transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1),border-color .3s ease,background .3s ease,opacity .28s ease}[data-theme=dark] .dept-card{background:linear-gradient(180deg,rgba(11,22,40,.92),rgba(8,18,34,.88))}.dept-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,185,129,.08),transparent 45%);opacity:0;transition:opacity .28s ease}.dept-card:hover{transform:translateY(-5px) scale(1.006);border-color:var(--dept-accent,var(--primary));box-shadow:0 22px 42px rgba(15,23,42,.1),0 0 0 1px var(--dept-accent-soft,rgba(16,185,129,.18))}.dept-card:hover:before{opacity:1}.dept-card.selected{border-color:var(--dept-accent,var(--primary));box-shadow:0 22px 42px rgba(15,23,42,.12),0 0 0 1px var(--dept-accent-soft,rgba(16,185,129,.18)),0 0 28px var(--dept-accent-soft,rgba(16,185,129,.18));transform:translateY(-6px) scale(1.01);animation:deptCardPulse 1.9s ease-in-out infinite}.dept-card.selected:before{opacity:1}.dept-accent-bar{position:absolute;inset:0 auto 0 0;width:5px;border-radius:20px 0 0 20px;background:linear-gradient(180deg,var(--dept-accent,var(--primary)),var(--dept-accent,var(--primary)))}.dept-card-icon{width:48px;height:48px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--dept-accent-bg,rgba(16,185,129,.12));color:var(--dept-accent,var(--primary));box-shadow:inset 0 0 0 1px var(--dept-accent-soft,rgba(16,185,129,.18))}.dept-card-icon i{font-size:1.05rem}.dept-card-inner{position:relative;z-index:1;width:100%;min-width:0;flex-direction:column;text-align:center}.dept-card-inner,.dept-name{display:flex;justify-content:center;align-items:center}.dept-name{font-weight:900;color:var(--text-main);font-size:1rem;line-height:1.25;letter-spacing:-.3px;min-height:2.5em;overflow-wrap:anywhere;word-break:break-word}.dept-card-actions{display:flex;align-items:center;gap:8px;position:relative;z-index:1;width:100%;margin-top:auto}.dept-card .small-btn{width:100%;min-width:0;box-shadow:0 10px 22px rgba(15,23,42,.08);white-space:nowrap}.dept-card .small-btn:hover{transform:translateY(-2px)}.btn.disabled{opacity:.5;pointer-events:none}@keyframes deptCardIn{0%{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes deptCardPulse{0%,to{box-shadow:0 22px 42px rgba(15,23,42,.12),0 0 0 1px var(--dept-accent-soft,rgba(16,185,129,.18)),0 0 18px var(--dept-accent-soft,rgba(16,185,129,.16))}50%{box-shadow:0 26px 48px rgba(15,23,42,.12),0 0 0 1px var(--dept-accent-soft,rgba(16,185,129,.2)),0 0 30px var(--dept-accent-soft,rgba(16,185,129,.24))}}.events-shell,.study-shell{padding:.95rem}.events-hero-strip,.study-hero-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}.events-hero-copy,.study-hero-copy{flex:1 1 520px;max-width:720px}.events-kicker,.study-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:800;color:var(--primary);margin-bottom:10px}.events-kicker:before,.study-kicker:before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}.events-hero-strip h3,.study-hero-strip h3{font-size:clamp(1.15rem,1.6vw,1.55rem);font-weight:900;color:var(--text-main);margin-bottom:4px;letter-spacing:-.04em}.events-hero-strip p,.study-hero-strip p{color:var(--text-muted);font-size:.9rem;line-height:1.5;max-width:60ch}.events-hero-pill,.study-hero-pill{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 14px;flex:0 0 auto;margin-left:auto;border-radius:999px;background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(59,130,246,.12));color:var(--primary);font-weight:800;border:1px solid rgba(16,185,129,.18);box-shadow:0 12px 24px rgba(16,185,129,.08)}.events-toolbar,.study-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.events-search-wrap,.study-search-wrap{display:flex;align-items:center;gap:10px;flex:1 1 260px;padding:0 16px;min-height:52px;border-radius:16px;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.events-search-wrap i,.study-search-wrap i{color:var(--text-muted)}.events-search-wrap input,.study-search-wrap input{width:100%;border:none;outline:none;background:transparent;color:var(--text-main);font:inherit;font-size:.96rem}.events-count,.study-count{padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,hsla(0,0%,100%,.76),var(--surface-2));color:var(--text-main);font-weight:800;box-shadow:var(--shadow-sm);white-space:nowrap}[data-theme=dark] .events-count,[data-theme=dark] .events-search-wrap,[data-theme=dark] .study-count,[data-theme=dark] .study-search-wrap{background:linear-gradient(180deg,rgba(11,22,40,.92),rgba(8,18,34,.88))}.study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.study-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:128px;padding:16px 14px 14px;border-radius:22px;cursor:pointer;overflow:hidden;text-align:center;background:linear-gradient(180deg,hsla(0,0%,100%,.92),var(--surface-2));border:1px solid var(--border);box-shadow:0 8px 20px rgba(0,0,0,.05);opacity:0;transform:translateY(14px) scale(.985);animation:deptCardIn .72s cubic-bezier(.175,.885,.32,1.275) forwards;transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1),border-color .3s ease}[data-theme=dark] .study-card{background:linear-gradient(180deg,rgba(11,22,40,.92),rgba(8,18,34,.88))}.event-card:before,.study-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,185,129,.08),transparent 45%);opacity:0;transition:opacity .28s ease}.study-card.selected,.study-card:hover{transform:translateY(-4px) scale(1.006);border-color:var(--study-accent,var(--primary));box-shadow:0 16px 32px rgba(15,23,42,.08),0 0 0 1px var(--study-accent-soft,rgba(16,185,129,.16)),0 0 20px rgba(16,185,129,.06)}.event-card.selected:before,.event-card:hover:before,.study-card.selected:before,.study-card:hover:before{opacity:1}.event-card-head,.study-card-top{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;z-index:1}.event-card-icon,.study-card-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--study-accent-bg,rgba(16,185,129,.12));color:var(--study-accent,var(--primary));box-shadow:inset 0 0 0 1px var(--study-accent-soft,rgba(16,185,129,.18))}.event-card-icon{background:var(--event-accent-bg,rgba(16,185,129,.12));color:var(--event-accent,var(--primary));box-shadow:inset 0 0 0 1px var(--event-accent-soft,rgba(16,185,129,.18))}.event-card-status,.event-detail-badge,.study-card-pill,.study-detail-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;font-size:.76rem;font-weight:800;letter-spacing:.04em;background:var(--primary-light);color:var(--primary);border:1px solid var(--border-glow)}.event-card-copy,.study-card-body{position:relative;z-index:1;width:100%}.event-card-title-row h3,.event-detail-panel h3,.study-card-body h3,.study-detail-main h3{font-size:1.06rem;font-weight:900;color:var(--text-main);letter-spacing:-.03em;line-height:1.3}.event-card-copy p,.study-card-body p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin-top:6px}.study-card .study-card-body p,.study-card .study-card-meta{display:none}.study-card .study-card-body{display:flex;align-items:center;justify-content:center;min-height:2.8em}.event-card-meta,.study-card-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.event-card-meta span,.study-card-meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:.78rem;font-weight:700}.study-detail-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.75fr);grid-gap:16px;gap:16px;padding:18px;border-radius:24px;background:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.72));border:1px solid var(--border);box-shadow:0 10px 24px rgba(0,0,0,.06);min-width:0}[data-theme=dark] .study-detail-panel{background:linear-gradient(180deg,rgba(11,22,40,.94),rgba(8,18,34,.88))}.event-detail-top,.study-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.event-detail-label,.study-detail-label{display:inline-flex;margin-bottom:8px;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:800;color:var(--primary)}.event-detail-summary,.study-detail-summary{color:var(--text-muted);line-height:1.7;margin-bottom:14px}.study-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.study-detail-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-main);font-size:.8rem;font-weight:700}.study-files-list{display:grid;grid-gap:10px;gap:10px}.study-file-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-main);font-weight:600}.study-file-item i{color:var(--primary)}.study-detail-side{display:flex;flex-direction:column;gap:12px}.study-folder-path{padding:14px;border-radius:18px;background:var(--bg-secondary);border:1px dashed var(--border-glow);color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.84rem;line-height:1.55;word-break:break-word}.event-detail-note,.study-detail-note{color:var(--text-muted);font-size:.86rem;line-height:1.6}.event-link.disabled,.study-open-btn.disabled{opacity:.5;pointer-events:none}.study-empty{margin-top:4px;min-height:180px;padding:1.5rem;border-radius:24px;border:1px dashed rgba(16,185,129,.18);background:linear-gradient(180deg,rgba(16,185,129,.06),rgba(59,130,246,.04));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;animation:studyStateIn .45s ease both}[data-theme=dark] .study-empty{background:linear-gradient(180deg,rgba(16,185,129,.08),rgba(59,130,246,.05));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06)}.study-empty .icon-box.large{width:68px;height:68px;margin:0}.study-empty .icon-box.large i{font-size:1.25rem}.study-empty h3{margin:0;font-size:1.08rem;font-weight:900;letter-spacing:-.03em;color:var(--text-main)}.study-empty p{color:var(--text-muted);font-size:.92rem;line-height:1.6;max-width:36ch}@keyframes studyStateIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.events-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.86fr)}.events-layout,.events-list{display:grid;grid-gap:14px;gap:14px}.event-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 14px;border-radius:20px;cursor:pointer;overflow:hidden;min-height:144px;background:linear-gradient(180deg,hsla(0,0%,100%,.92),var(--surface-2));border:1px solid var(--border);box-shadow:0 8px 20px rgba(0,0,0,.05);opacity:0;transform:translateY(14px) scale(.985);animation:deptCardIn .72s cubic-bezier(.175,.885,.32,1.275) forwards;transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1),border-color .3s ease}[data-theme=dark] .event-card{background:linear-gradient(180deg,rgba(11,22,40,.92),rgba(8,18,34,.88))}.event-card.selected,.event-card:hover{transform:translateY(-4px) scale(1.005);border-color:var(--event-accent,var(--primary));box-shadow:0 16px 32px rgba(15,23,42,.08),0 0 0 1px var(--event-accent-soft,rgba(16,185,129,.16))}.event-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.event-card-title-row h3{flex:1 1;min-width:0}.event-card-copy .event-card-status{flex-shrink:0}.event-card-meta{margin-top:2px}.event-detail-panel{display:block;align-self:start;padding:18px;border-radius:24px;background:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.72));border:1px solid var(--border);box-shadow:0 10px 24px rgba(0,0,0,.06);min-width:0}[data-theme=dark] .event-detail-panel{background:linear-gradient(180deg,rgba(11,22,40,.94),rgba(8,18,34,.88))}.event-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.event-info-item{padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--border)}.event-info-label{display:block;color:var(--text-muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.event-info-item strong{color:var(--text-main);font-size:.92rem;line-height:1.45;display:block}.event-link-list{display:grid;grid-gap:10px;gap:10px;margin-bottom:4px}.event-link{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-main);font-weight:800;transition:transform .25s ease,border-color .25s ease,background .25s ease;line-height:1.35;overflow-wrap:anywhere}.event-link:hover{transform:translateY(-2px);border-color:var(--border-glow);background:var(--primary-light)}.event-link i{color:var(--primary)}.events-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:24px 18px;text-align:center;border-radius:24px;background:linear-gradient(180deg,rgba(16,185,129,.05),rgba(59,130,246,.03));border:1px solid rgba(16,185,129,.12);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35);gap:14px}.events-coming-soon-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.events-coming-soon-badge i{color:inherit}.events-logo-frame{width:min(200px,68vw);aspect-ratio:1/1;padding:14px;border-radius:24px;background:linear-gradient(180deg,hsla(0,0%,100%,.92),hsla(0,0%,100%,.75));border:1px solid var(--border);box-shadow:0 18px 34px rgba(15,23,42,.08);display:flex;align-items:center;justify-content:center}.events-logo-frame img{width:100%;height:100%;object-fit:contain;display:block}.events-coming-soon-copy h3{margin:0;font-size:1.35rem;font-weight:900;letter-spacing:-.03em;color:var(--text-main)}.events-coming-soon-copy p{max-width:520px;margin:8px auto 0;color:var(--text-muted);line-height:1.7}.events-coming-soon-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:2px}@media (max-width:900px){.app-container{padding:1.35rem 1.05rem;gap:1.35rem}.hero-card{padding:2.4rem 2rem!important}.feature-cards{gap:10px}.feat-card{flex-basis:calc(50% - 10px)}.events-layout,.study-detail-panel{grid-template-columns:1fr}.events-hero-strip,.study-hero-strip{flex-direction:column;align-items:flex-start}.events-hero-pill,.study-hero-pill{margin-left:0}}@media (max-width:640px){.events-shell,.study-shell{padding:1.2rem}.study-grid{grid-template-columns:1fr}.event-card,.study-card{min-height:170px}.event-detail-panel,.study-detail-panel{padding:15px}.event-info-grid{grid-template-columns:1fr}}@media (max-width:900px){.faculty-hero-strip{flex-direction:column;align-items:flex-start}.faculty-list{grid-template-columns:1fr 1fr}.todo-hero-strip{flex-direction:column;align-items:flex-start}.dept-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.faculty-list{grid-template-columns:1fr}.faculty-actions{flex-direction:column}.faculty-shell{padding:1.35rem}.year-buttons{gap:8px}.year-btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px);text-align:center}.dept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dept-card{padding:12px 10px 10px;min-height:0}.dept-name{font-size:.84rem;min-height:2.2em}.events-hero-strip,.faculty-hero-strip,.study-hero-strip,.todo-hero-strip{gap:10px}.events-hero-copy h3,.faculty-hero-strip h3,.study-hero-copy h3,.todo-hero-copy h3{font-size:1.05rem;line-height:1.12}.events-hero-copy p,.faculty-hero-strip p,.study-hero-copy p,.todo-hero-copy p{font-size:.82rem;line-height:1.45}.events-hero-pill,.faculty-hero-pill,.study-hero-pill,.todo-hero-pill{width:100%;justify-content:center;margin-left:0;white-space:normal;text-align:center}.year-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;margin-bottom:12px}.year-btn{width:100%;min-width:0;padding:10px 12px;font-size:.9rem}.dept-grid{gap:8px}.dept-card{min-height:0;padding:12px 10px 10px;border-radius:16px}.dept-name{font-size:.86rem;min-height:1.75em}.dept-card-icon{width:40px;height:40px;border-radius:14px}.dept-card-icon i{font-size:.95rem}.dept-card-actions{flex-direction:column;margin-top:2px;gap:6px}.dept-card .small-btn{white-space:normal;padding:9px 10px;font-size:.8rem}.events-layout,.study-grid{grid-template-columns:1fr}.events-coming-soon{min-height:0;padding:20px 14px}.study-detail-panel{grid-template-columns:1fr;gap:12px;padding:12px}.event-card,.study-card{min-height:0;padding:14px 12px;border-radius:18px}.event-card-icon,.study-card-icon{width:40px;height:40px;border-radius:14px}.event-card-title-row h3,.event-detail-panel h3,.study-card-body h3,.study-detail-main h3{font-size:.95rem}.event-card-copy p,.study-card-body p{font-size:.82rem;line-height:1.45}.events-search-wrap,.faculty-search-wrap input,.study-search-wrap{min-height:46px}}.bottom-nav{bottom:0;left:0;right:0;height:72px;z-index:700;background:var(--surface);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-top:1px solid var(--border);padding:0 4px env(safe-area-inset-bottom,0);justify-content:space-around;box-shadow:0 -8px 32px rgba(0,0,0,.08);transition:background .5s ease}.bottom-nav,.floating-action-btn{display:none;position:fixed;align-items:center}.floating-action-btn{right:18px;bottom:calc(90px + env(safe-area-inset-bottom, 0));width:56px;height:56px;border-radius:18px;border:1px solid var(--border-glow);background:linear-gradient(135deg,rgba(16,185,129,.95),rgba(5,150,105,.95));color:#fff;z-index:760;box-shadow:0 18px 36px rgba(16,185,129,.32),0 0 26px rgba(16,185,129,.28);justify-content:center;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.floating-action-btn i{font-size:1.1rem}.floating-action-btn:hover{transform:translateY(-3px) scale(1.03);filter:brightness(1.05)}.floating-action-btn:active{transform:scale(.96)}.bnav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1 1;height:60px;background:none;border:none;cursor:pointer;border-radius:var(--radius-md);transition:all .25s ease;position:relative}.bnav-btn i{font-size:1.15rem;color:var(--text-muted);transition:color .25s ease,transform .3s cubic-bezier(.175,.885,.32,1.275)}.bnav-btn span{font-size:.68rem;font-weight:600;color:var(--text-muted);font-family:Outfit,sans-serif;transition:color .25s ease}.bnav-btn.active i,.bnav-btn.active span{color:var(--primary)}.bnav-btn.active i{transform:translateY(-2px) scale(1.15)}.bnav-btn.active:before{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:20px;height:3px;border-radius:99px;background:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.bnav-btn:active{transform:scale(.9)}.more-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:750;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease;-webkit-backdrop-filter:none;backdrop-filter:none}.more-overlay.visible{opacity:1;visibility:visible;pointer-events:all;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s ease,visibility 0s linear 0s,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease}.more-drawer{position:fixed;bottom:-100%;left:0;right:0;z-index:800;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:28px 28px 0 0;border-top:1px solid var(--border);padding:16px 20px calc(32px + env(safe-area-inset-bottom, 0));box-shadow:0 -20px 60px rgba(0,0,0,.2);transition:bottom .4s cubic-bezier(.175,.885,.32,1.275),background .5s ease}.more-drawer.open{bottom:0}[data-theme=dark] .more-drawer{background:#081222}.more-drawer-handle{width:40px;height:4px;border-radius:99px;background:var(--border);margin:0 auto 20px}.more-drawer-item{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-main);cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:Outfit,sans-serif;transition:background .25s ease,transform .2s ease;margin-bottom:6px}.more-drawer-item:hover{background:var(--primary-light);transform:translateX(4px)}.more-drawer-item:active{transform:scale(.97)}.more-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.more-icon.portal-icon{background:rgba(99,102,241,.12);color:#6366f1}.more-icon.food-icon{background:rgba(249,115,22,.12);color:#f97316}.more-icon.theme-icon{background:var(--primary-light);color:var(--primary)}.more-text{flex:1 1}.more-text strong{display:block;font-size:.95rem;font-weight:700;color:var(--text-main)}.more-ext,.more-text span{font-size:.8rem;color:var(--text-muted)}.toggle-pill{width:44px;height:24px;background:var(--border);border-radius:99px;position:relative;transition:background .3s ease;flex-shrink:0}.toggle-pill.on{background:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 6px rgba(0,0,0,.15)}.toggle-pill.on .toggle-thumb{transform:translateX(20px)}.contrast-toggle,.theme-apply-btn{width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:6px;gap:6px;background:hsla(0,0%,100%,.96);color:var(--text-main);border:1px solid rgba(15,23,42,.06);box-shadow:0 6px 18px rgba(6,12,20,.06)}.contrast-toggle:hover,.theme-apply-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(6,12,20,.09)}.contrast-toggle:active,.theme-apply-btn:active{transform:scale(.98)}.contrast-toggle i,.theme-apply-btn i{font-size:14px}.cgpa-report-export.result-state{width:100%;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.cgpa-report-card{position:relative;width:min(100%,980px);margin:0 auto;padding:20px;border-radius:20px;overflow:hidden;color:var(--text-main);background:linear-gradient(180deg,#fff,#f6fdff);border:1px solid rgba(15,23,42,.04);box-shadow:0 40px 100px rgba(6,12,20,.08),0 10px 24px rgba(6,12,20,.04),inset 0 1px 0 hsla(0,0%,100%,.06);isolation:isolate}.cgpa-report-card:before{content:none;position:absolute;display:none}.cgpa-report-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.09),transparent 35%),linear-gradient(225deg,rgba(15,23,42,.14),transparent 36%);pointer-events:none}.mini-report-card{position:relative;width:100%;padding:22px;border-radius:18px;overflow:visible;color:var(--text-main);background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid rgba(15,23,42,.04);box-shadow:0 30px 80px rgba(6,12,20,.08),0 6px 18px rgba(15,23,42,.06)}.mini-report-watermark{position:absolute;inset:auto 0 6% 50%;transform:translateX(-10%) rotate(-14deg);font-size:4.2rem;font-weight:900;opacity:.08;pointer-events:none;z-index:0}.mini-report-card .result-title{margin-top:6px;color:hsla(0,0%,100%,.96);font-weight:800}.mini-report-card .huge-result{font-size:48px;color:var(--text-main);font-weight:900;text-shadow:0 6px 18px rgba(8,12,20,.06);z-index:1}.mini-report-card .attendance-ring-wrap{margin:18px 0;display:flex;align-items:center;justify-content:center;gap:14px;z-index:1}.mini-report-card .result-desc{background:rgba(15,23,42,.04);color:var(--text-muted);padding:10px 14px;border-radius:14px;box-shadow:none}.mini-report-card .download-actions{display:flex;gap:10px;margin-top:12px;z-index:1}.mini-report-card .btn.small-btn{background:linear-gradient(90deg,#fff,#f7fcff);color:var(--text-main);border:1px solid rgba(15,23,42,.06);box-shadow:0 8px 18px rgba(6,12,20,.06)}.mini-report-card .btn.small-btn.outline-btn{background:hsla(0,0%,100%,.96);color:var(--text-main);border:1px solid rgba(15,23,42,.06)}@media (min-width:1100px){.mini-report-card{padding:28px;border-radius:22px}}.cgpa-download-actions,.cgpa-metrics-grid,.cgpa-report-footer,.cgpa-report-header,.cgpa-report-hero,.cgpa-report-orb,.cgpa-report-watermark{position:relative;z-index:1}.cgpa-report-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-52%) rotate(-14deg);font-size:clamp(3rem,8vw,7rem);font-weight:900;letter-spacing:.28em;color:hsla(0,0%,100%,.08);opacity:.7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:blur(.6px)}.cgpa-report-orb{position:absolute;border-radius:999px;filter:none;opacity:0;pointer-events:none}.cgpa-report-orb,.cgpa-report-orb.orb-a,.cgpa-report-orb.orb-b{display:none!important}.cgpa-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.cgpa-brand-lockup{display:flex;align-items:center;gap:16px;max-width:740px}.cgpa-brand-logo-wrap{width:68px;height:68px;padding:10px;border-radius:20px;background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.18);box-shadow:0 18px 30px rgba(18,24,64,.18),inset 0 1px 0 hsla(0,0%,100%,.25);flex:0 0 auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.cgpa-brand-logo{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 8px 18px rgba(15,23,42,.18))}.cgpa-brand-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;margin-bottom:10px;border-radius:999px;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.14);color:hsla(0,0%,100%,.88);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.cgpa-report-title{margin:0;font-size:clamp(1.4rem,2.2vw,2.35rem);line-height:1.04;letter-spacing:-.05em;font-weight:900;color:#fff}.cgpa-report-subtitle{margin-top:8px;color:hsla(0,0%,100%,.78);font-size:.96rem;line-height:1.55;max-width:60ch}.cgpa-generated-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.16);color:hsla(0,0%,100%,.92);font-size:.8rem;font-weight:700;white-space:nowrap;box-shadow:0 16px 30px rgba(18,24,64,.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.cgpa-report-hero{display:grid;grid-template-columns:1fr .9fr;grid-gap:14px;gap:14px;align-items:stretch;margin-bottom:14px}#att-result-state,#bunk-result-state{width:100%;padding:12px 8px;border-radius:12px;background:transparent;border:none;box-shadow:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:12px}.result-panel[data-mood] .result-title{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.12)}.result-panel[data-mood] .huge-result{background:linear-gradient(135deg,var(--result-accent,var(--primary)),var(--result-accent-2,var(--blue)))}.result-panel[data-mood] .ring-fill{stroke:var(--result-accent,var(--primary));filter:drop-shadow(0 0 12px rgba(16,185,129,.22))}.grade-stat{min-height:120px;padding:14px}.grade-stat .stat-value{font-size:clamp(1.15rem,2.2vw,1.9rem)}.cgpa-chart-panel,.cgpa-score-panel{position:relative;padding:16px;border-radius:16px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.12);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 12px 22px rgba(18,24,64,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.cgpa-section-label,.report-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;margin-bottom:16px;border-radius:999px;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.14);color:hsla(0,0%,100%,.92);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.cgpa-score{font-size:clamp(3.6rem,8vw,5.2rem);line-height:.96;margin:0 0 12px;color:#0f172a!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;filter:none!important}.cgpa-achievement{display:inline-flex;align-items:center;gap:10px;margin:0;padding:12px 18px;background:rgba(15,23,42,.04)!important;border:1px solid rgba(15,23,42,.06)!important;color:var(--text-main)!important;box-shadow:none!important}.cgpa-achievement i{color:#ffd166;font-size:1rem;filter:drop-shadow(0 0 10px rgba(255,209,102,.36))}.cgpa-mini-copy{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;color:var(--text-muted)!important;font-size:.8rem!important}.cgpa-mini-copy span{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:rgba(15,23,42,.03)!important;border:1px solid rgba(15,23,42,.06)!important}.cgpa-chart-panel{display:flex;flex-direction:column}.cgpa-chart-wrap{margin:0;height:320px;padding:8px;background:transparent;border:0;box-shadow:none}.cgpa-chart-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:14px}.cgpa-legend-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:hsla(0,0%,100%,.96);border:1px solid rgba(15,23,42,.04);box-shadow:0 10px 24px rgba(6,12,20,.04)}.cgpa-legend-left{display:inline-flex;align-items:center;gap:10px;min-width:0}.cgpa-legend-swatch{width:14px;height:14px;border-radius:6px;box-shadow:0 0 0 4px hsla(0,0%,100%,.06);flex:0 0 auto}.cgpa-legend-label{color:hsla(0,0%,100%,.98);font-weight:900;font-size:1rem;white-space:nowrap;text-shadow:0 2px 6px rgba(0,0,0,.28)}.cgpa-legend-value{color:hsla(0,0%,100%,.9);font-weight:800;font-size:.9rem}.cgpa-legend-labels{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:10px;background:rgba(0,0,0,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cgpa-legend-percent{font-size:.78rem;color:hsla(0,0%,100%,.96);font-weight:700}.cgpa-legend-item.empty{opacity:.45;filter:grayscale(30%)}.result-panel[data-mood] .attendance-label,.result-panel[data-mood] .attendance-value,.result-panel[data-mood] .cgpa-legend-label,.result-panel[data-mood] .cgpa-legend-percent,.result-panel[data-mood] .cgpa-legend-value,.result-panel[data-mood] .huge-result,.result-panel[data-mood] .result-title,.result-panel[data-mood] .ring-center-text{color:hsla(0,0%,100%,.96)!important;text-shadow:0 6px 20px rgba(0,0,0,.32)!important}.cgpa-report-card .cgpa-achievement,.grade-stat .stat-value,.mini-report-card .attendance-value,.mini-report-card .huge-result,.mini-report-card .result-title,.result-panel .cgpa-legend-label{color:#fff!important;text-shadow:0 8px 26px rgba(0,0,0,.36)!important;z-index:2;position:relative}.cgpa-legend-percent,.cgpa-legend-value,.grade-stat .stat-value,.mini-report-card .attendance-value,.ring-center-text{padding:4px 8px;border-radius:10px;background:rgba(0,0,0,.18);display:inline-block}.cgpa-chart-legend,.cgpa-legend-item{position:relative;z-index:3}.result-panel:not([data-mood]) .cgpa-legend-percent,.result-panel:not([data-mood]) .cgpa-legend-value,.result-panel:not([data-mood]) .huge-result,.result-panel:not([data-mood]) .ring-center-text{color:var(--text-main)!important;text-shadow:none!important;background:hsla(0,0%,100%,.9);padding:4px 8px;border-radius:8px}.result-panel[data-mood] .mini-report-card,.result-panel[data-mood] .mini-report-card .result-desc{background:linear-gradient(135deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02))}.result-panel[data-mood] .mini-report-card .result-desc{background:var(--panel-backplate,rgba(0,0,0,.12))}.result-panel[data-mood] .mini-report-card .btn.small-btn{background:var(--panel-btn-bg,hsla(0,0%,100%,.92));color:var(--panel-btn-text,#07111f)}.result-panel[data-mood] .mini-report-card .btn.small-btn.outline-btn{background:hsla(0,0%,100%,.12);color:var(--panel-btn-text,#07111f)}.result-panel[data-contrast=light] .ring-center-text{background:hsla(0,0%,100%,.96);color:var(--panel-btn-text,#07111f)}.result-panel[data-contrast=light] .cgpa-legend-labels,.result-panel[data-contrast=light] .mini-report-card .result-desc{background:hsla(0,0%,100%,.94);color:var(--panel-btn-text,#07111f)}.result-panel[data-contrast=light] .attendance-label,.result-panel[data-contrast=light] .attendance-value,.result-panel[data-contrast=light] .cgpa-legend-percent,.result-panel[data-contrast=light] .cgpa-legend-value,.result-panel[data-contrast=light] .huge-result,.result-panel[data-contrast=light] .result-title{color:var(--panel-btn-text,#07111f)!important;text-shadow:none!important}.status-badge{display:inline-block;padding:10px 14px;border-radius:14px;font-weight:700;margin-bottom:12px;background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.02));color:var(--text-main);box-shadow:0 8px 18px rgba(6,12,20,.06)}.result-stats{display:flex;gap:12px;margin:12px 0 6px}.result-stats .stat-row{flex:1 1;background:rgba(15,23,42,.02);padding:10px 12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.result-stats .stat-row .stat-num{font-weight:900;font-size:1.05rem;color:var(--text-main);background:hsla(0,0%,100%,.96);padding:6px 10px;border-radius:8px}.safe-bunks-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;margin:8px 0 12px}.safe-bunks-label{font-weight:700;color:var(--text-muted);letter-spacing:.12em;font-size:.85rem}.safe-bunks-number{font-size:48px;font-weight:900;color:var(--text-main);background:hsla(0,0%,100%,.96);padding:8px 14px;border-radius:12px;box-shadow:0 8px 18px rgba(6,12,20,.06)}.achievement-badge{display:inline-block;margin:10px 0;padding:10px 14px;border-radius:14px;background:rgba(15,23,42,.04);color:var(--text-main);font-weight:800}.grade-stat{text-align:center;padding:18px}.grade-stat .stat-value{display:inline-block;background:hsla(0,0%,100%,.96);color:#07111f;padding:8px 12px;border-radius:12px;font-size:1.2rem}.result-panel[data-contrast=dark] .ring-center-text{background:rgba(0,0,0,.18);color:#fff}.result-panel[data-contrast=dark] .cgpa-legend-labels,.result-panel[data-contrast=dark] .mini-report-card .result-desc{background:rgba(0,0,0,.14);color:hsla(0,0%,100%,.96)}.result-panel[data-contrast=dark] .attendance-label,.result-panel[data-contrast=dark] .attendance-value,.result-panel[data-contrast=dark] .cgpa-legend-percent,.result-panel[data-contrast=dark] .cgpa-legend-value,.result-panel[data-contrast=dark] .huge-result,.result-panel[data-contrast=dark] .result-title{color:hsla(0,0%,100%,.96)!important;text-shadow:0 6px 18px rgba(0,0,0,.32)!important}.cgpa-legend-value{font-family:JetBrains Mono,monospace;font-weight:900;font-size:.98rem;color:hsla(0,0%,100%,.98);text-shadow:0 2px 6px rgba(0,0,0,.22)}@media (max-width:720px){.cgpa-chart-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.cgpa-legend-item{padding:10px}.cgpa-legend-left{gap:8px}}@media (max-width:520px){.grade-stat{padding:16px;min-height:140px}.grade-stat .stat-value{font-size:clamp(1.5rem,4.2vw,2.2rem)}.cgpa-legend-item{padding:10px 12px}.cgpa-legend-label{font-size:1.02rem}.cgpa-legend-percent{font-size:.9rem}.cgpa-legend-value{font-size:1rem}}#att-result-state .mini-report-card,#bunk-result-state .mini-report-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 24px!important;border-radius:26px!important;overflow:hidden;background:radial-gradient(circle at top left,rgba(16,185,129,.14),transparent 34%),radial-gradient(circle at bottom right,rgba(59,130,246,.12),transparent 32%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,251,255,.94))!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 28px 70px rgba(15,23,42,.08),0 10px 24px rgba(15,23,42,.05)!important}#att-result-state .mini-report-card:after,#att-result-state .mini-report-card:before,#bunk-result-state .mini-report-card:after,#bunk-result-state .mini-report-card:before{content:none}#att-result-state .result-title,#bunk-result-state .result-title{gap:8px;margin:0;padding:8px 14px;border-radius:999px;background:rgba(15,23,42,.04)!important;border:1px solid rgba(15,23,42,.06);color:var(--text-muted)!important;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase}#att-result-state .result-title,#attendance-result,#bunk-result-state .result-title{display:inline-flex;align-items:center;justify-content:center;font-weight:900;text-shadow:none!important}#attendance-result{min-width:170px;padding:10px 20px;margin-top:2px;border-radius:22px;background:hsla(0,0%,100%,.98)!important;color:var(--text-main)!important;font-size:clamp(2.9rem,8vw,4.7rem);line-height:.95;letter-spacing:-.08em;box-shadow:0 12px 26px rgba(15,23,42,.08);border:1px solid rgba(15,23,42,.08);background-image:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:currentColor!important;filter:none!important}.attendance-ring-wrap{margin:2px auto 0!important}.attendance-ring-wrap .ring-bg{stroke:rgba(148,163,184,.18)!important;stroke-width:9!important}.attendance-ring-wrap .ring-fill{stroke-width:10!important;filter:drop-shadow(0 12px 18px rgba(16,185,129,.22))!important}.ring-center-text{min-width:72px;background:hsla(0,0%,100%,.96)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 12px 24px rgba(15,23,42,.08)!important;font-size:.98rem!important}#bunk-result-state .mini-report-card{align-items:stretch}.bunk-attendance-display{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:360px;margin:0 auto;border-radius:16px!important;background:rgba(15,23,42,.03)!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),0 8px 18px rgba(15,23,42,.04)!important}.attendance-label{letter-spacing:.16em}#bunk-current-attendance{display:inline-flex;align-items:center;justify-content:center;min-width:100px;padding:8px 12px;border-radius:12px;background:rgba(59,130,246,.1);color:var(--text-main)!important;font-size:.98rem;font-weight:900;letter-spacing:-.03em}.bunk-progress-wrap{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.bunk-progress-track{width:100%;height:14px;border-radius:999px;padding:2px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.06);box-shadow:inset 0 1px 2px hsla(0,0%,100%,.8);overflow:hidden}.bunk-progress-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--blue));box-shadow:0 8px 20px rgba(16,185,129,.18);transition:width 1s cubic-bezier(.22,.8,.2,1)}.bunk-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem;font-weight:700}.bunk-progress-meta strong{font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:900;letter-spacing:-.02em}#bunk-title{margin-top:2px}#safe-bunks-number{display:inline-flex;align-items:center;justify-content:center;min-width:170px;min-height:150px;padding:14px 18px;margin-top:-2px;border-radius:30px;background:hsla(0,0%,100%,.98)!important;color:var(--text-main)!important;font-size:clamp(4.2rem,12vw,6.8rem);line-height:.92;font-weight:900;letter-spacing:-.09em;text-shadow:none!important;box-shadow:0 12px 26px rgba(15,23,42,.08);border:1px solid rgba(15,23,42,.08);background-image:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;-webkit-text-fill-color:currentColor!important;filter:none!important}#att-desc,#bunk-desc{width:100%;max-width:360px;margin-top:0;padding:12px 14px!important;border-radius:16px!important;background:rgba(15,23,42,.04)!important;border:1px solid rgba(15,23,42,.05);color:var(--text-muted)!important;font-size:.98rem;line-height:1.55;text-align:center}.download-actions{width:100%;max-width:360px;gap:12px}.download-actions .btn.small-btn{flex:1 1;border-radius:999px;padding:12px 16px}#att-result-state .bunk-progress-wrap,#att-result-state .status-badge,#bunk-result-state .bunk-progress-wrap,#bunk-result-state .status-badge{width:100%;max-width:360px}#att-result-state .status-badge,#bunk-result-state .status-badge{text-align:center;background:rgba(15,23,42,.04)!important;border:1px solid rgba(15,23,42,.06);box-shadow:none;color:var(--text-main)!important}#att-result-state .result-stats{width:100%;max-width:360px}#att-result-state .result-desc,#att-result-state .stat-row,#bunk-result-state .bunk-attendance-display,#bunk-result-state .bunk-progress-wrap,#bunk-result-state .result-desc,#bunk-result-state .safe-bunks-wrap{background:hsla(0,0%,100%,.96)!important;border:1px solid rgba(15,23,42,.06)!important}@media (max-width:640px){#att-result-state .mini-report-card,#bunk-result-state .mini-report-card{padding:20px 16px!important;border-radius:22px!important;gap:14px}#attendance-result{min-width:0;width:100%;font-size:clamp(2.6rem,14vw,4rem)}.attendance-ring-wrap{width:156px!important;height:156px!important}#bunk-huge{min-width:0;width:100%;min-height:132px;font-size:clamp(4rem,15vw,5.8rem)}#att-desc,#bunk-desc,.bunk-attendance-display,.bunk-progress-wrap,.download-actions{max-width:100%}}.cgpa-metrics-grid{margin-top:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cgpa-stat{align-items:flex-start;text-align:left;min-height:150px;padding:18px;border-radius:20px;background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.14);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 16px 28px rgba(18,24,64,.1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.grade-stat-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.12);color:#fff;font-size:1.05rem;margin-bottom:12px;box-shadow:0 12px 20px rgba(18,24,64,.12)}.cgpa-stat .stat-label{margin-bottom:.55rem;color:hsla(0,0%,100%,.74);letter-spacing:.16em}.cgpa-stat .stat-value{color:#fff;font-size:clamp(1.65rem,2.8vw,2.35rem);line-height:1}.cgpa-report-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid hsla(0,0%,100%,.16)}.cgpa-footer-item{padding:14px 16px;border-radius:18px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.12);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.cgpa-footer-label{display:block;margin-bottom:8px;color:hsla(0,0%,100%,.72);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:800}.cgpa-footer-item strong{color:#fff;font-size:.92rem;line-height:1.4;word-break:break-word}.cgpa-download-actions{margin-top:18px}.cgpa-download-actions .small-btn{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.16);color:#fff;box-shadow:0 14px 28px rgba(18,24,64,.16)}.cgpa-download-actions .small-btn.outline-btn{background:hsla(0,0%,100%,.1);color:#fff}.cgpa-download-actions .small-btn:hover{border-color:hsla(0,0%,100%,.26);box-shadow:0 18px 32px rgba(18,24,64,.2)}@media (max-width:1100px){.cgpa-report-card{width:100%;padding:22px}.cgpa-report-header{flex-direction:column;align-items:flex-start}.cgpa-generated-pill{width:100%;justify-content:center}.cgpa-report-hero{grid-template-columns:1fr}.cgpa-chart-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.cgpa-metrics-grid,.cgpa-report-footer{grid-template-columns:1fr}}@media (max-width:640px){.cgpa-report-card{padding:18px;border-radius:20px}.cgpa-brand-lockup{align-items:flex-start;gap:12px}.cgpa-brand-logo-wrap{width:56px;height:56px;padding:8px;border-radius:16px}.cgpa-report-title{font-size:clamp(1.18rem,5vw,1.6rem)}.cgpa-report-subtitle{font-size:.86rem;line-height:1.5}.cgpa-chart-panel,.cgpa-score-panel{padding:18px;border-radius:18px}.cgpa-score{font-size:clamp(4.2rem,18vw,5.8rem)}.cgpa-achievement,.cgpa-footer-item,.cgpa-legend-item,.cgpa-mini-copy span{border-radius:14px}.cgpa-chart-wrap{height:240px}.cgpa-chart-legend{grid-template-columns:1fr}.cgpa-stat{min-height:132px}.cgpa-footer-item strong{font-size:.86rem}.cgpa-download-actions .small-btn{flex:1 1 100%}}.chart-container{margin:0;padding:0;background:transparent;border-radius:0;border:0;box-shadow:none;transition:none;height:100%}[data-theme=dark] .chart-container{background:transparent;border-color:transparent}.chart-container{position:relative;margin:2.5rem 0 2rem;padding:1.8rem;background:linear-gradient(135deg,rgba(16,185,129,.05),rgba(59,130,246,.04));border-radius:var(--radius-lg);border:1px solid rgba(16,185,129,.1);box-shadow:inset 0 2px 10px rgba(0,0,0,.02);transition:all var(--transition);width:100%;text-align:center;height:250px}[data-theme=dark] .chart-container{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(59,130,246,.06));border-color:rgba(16,185,129,.15)}.chart-container canvas{display:block;max-width:100%;animation:chartFadeIn .8s ease-out}@keyframes chartFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.grade-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.2rem;gap:1.2rem;margin-top:1.8rem}.portfolio-popup-overlay{position:fixed;inset:0;background:transparent;z-index:998;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .5s cubic-bezier(.4,0,.2,1),opacity .5s ease,visibility 0s linear .5s,backdrop-filter .5s ease,-webkit-backdrop-filter .5s ease}.portfolio-popup-overlay.active{opacity:1;visibility:visible;background:rgba(0,0,0,.35);pointer-events:all;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.portfolio-popup{position:fixed;bottom:18px;right:18px;width:260px;max-width:calc(min(92vw, 260px));background:linear-gradient(135deg,var(--surface) 0,hsla(0,0%,100%,.94) 100%);border:1px solid rgba(0,0,0,.06);border-radius:12px;z-index:999;opacity:0;transform:translateY(18px) translateX(8px) scale(.98);pointer-events:none;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .36s ease;box-shadow:0 10px 22px rgba(0,0,0,.08);overflow:hidden}.portfolio-popup.active{opacity:1;transform:translateY(0) translateX(0) scale(1);pointer-events:all}[data-theme=dark] .portfolio-popup{background:linear-gradient(135deg,rgba(8,18,34,.92),rgba(12,26,48,.98));box-shadow:0 25px 70px rgba(0,0,0,.5),0 0 60px rgba(52,211,153,.25),inset 0 1px 2px hsla(0,0%,100%,.12)}.popup-bg-pattern,.popup-glow,[data-theme=dark] .popup-glow{display:none}.popup-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:rgba(0,0,0,.06);color:var(--text-main);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:20;transition:all .3s cubic-bezier(.175,.885,.32,1.275);font-size:1.1rem}.popup-close:hover{background:rgba(0,0,0,.12);transform:rotate(90deg) scale(1.1)}.popup-close:active{transform:rotate(90deg) scale(.95)}[data-theme=dark] .popup-close{background:hsla(0,0%,100%,.1)}[data-theme=dark] .popup-close:hover{background:hsla(0,0%,100%,.18)}.popup-header{padding:12px 12px 8px;display:flex;align-items:center;justify-content:center;position:relative;z-index:10}.popup-avatar-wrapper{position:relative}.popup-avatar,.popup-avatar-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.popup-avatar{background:linear-gradient(135deg,var(--primary),#10b981);border-radius:10px;color:#fff;font-size:1.05rem;box-shadow:0 6px 14px rgba(16,185,129,.18);animation:none;border:1px solid hsla(0,0%,100%,.2)}@keyframes avatarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.avatar-badge{display:none}@keyframes badgeJiggle{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}.popup-content{padding:0 12px 12px;text-align:center;position:relative;z-index:10}.popup-status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(52,211,153,.08));border:1px solid rgba(16,185,129,.25);border-radius:20px;font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.6px;margin-bottom:16px}.status-dot{width:6px;height:6px;background:var(--primary);border-radius:50%;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}[data-theme=dark] .popup-status-badge{background:linear-gradient(135deg,rgba(52,211,153,.15),rgba(16,185,129,.1));border-color:rgba(52,211,153,.35);color:#34d399}.popup-title{font-size:1rem;font-weight:800;color:var(--text-main);margin-bottom:6px;line-height:1.25;letter-spacing:-.3px}.popup-subtitle{font-size:.78rem;color:var(--text-muted);margin-bottom:12px;line-height:1.45;font-weight:400}.popup-actions{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin-bottom:10px}.popup-btn{justify-content:space-between;padding:10px 12px;border:none;border-radius:16px;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;color:#fff}.btn-icon,.popup-btn{display:flex;align-items:center}.btn-icon{width:28px;height:28px;justify-content:center;font-size:1rem;flex-shrink:0}.btn-content{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1 1;min-width:0}.btn-label{font-size:.65rem;opacity:.85;font-weight:500;text-transform:uppercase;letter-spacing:.4px}.btn-text{font-size:.9rem;font-weight:700;line-height:1}.btn-arrow{font-size:.8rem;opacity:.8;transition:transform .3s ease;flex-shrink:0}.linkedin-btn{background:linear-gradient(135deg,#0a66c2,#0854a0);box-shadow:0 10px 24px rgba(10,102,194,.35)}.linkedin-btn:hover{background:linear-gradient(135deg,#0d78d4,#0a5fa8);transform:translateY(-3px);box-shadow:0 14px 32px rgba(10,102,194,.45)}.linkedin-btn:hover .btn-arrow{transform:translateX(3px)}.linkedin-btn:active{transform:scale(.97)}.portfolio-btn{background:linear-gradient(135deg,var(--primary),#059669);box-shadow:0 10px 24px rgba(16,185,129,.35)}.portfolio-btn:hover{background:linear-gradient(135deg,#10b981,#047857);transform:translateY(-3px);box-shadow:0 14px 32px rgba(16,185,129,.45)}.portfolio-btn:hover .btn-arrow{transform:translateX(3px)}.portfolio-btn:active{transform:scale(.97)}.btn-ripple{position:absolute;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.35);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.popup-btn:active .btn-ripple{animation:rippleExpand .6s ease-out}@keyframes rippleExpand{0%{width:0;height:0;opacity:1}to{width:300px;height:300px;opacity:0}}.popup-cta,.popup-divider,[data-theme=dark] .popup-divider{display:none}.popup-cta-text{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-bottom:10px}.popup-icons{gap:12px}.popup-icons,.popup-icons span{display:flex;align-items:center;justify-content:center}.popup-icons span{width:32px;height:32px;border-radius:50%;font-size:.9rem;cursor:default}.icon-star{background:rgba(245,158,11,.15);color:#f59e0b;animation:iconBounce 2s ease-in-out infinite}.icon-heart{background:rgba(239,68,68,.15);color:#ef4444;animation:iconBounce 2s ease-in-out .3s infinite}.icon-rocket{background:rgba(59,130,246,.15);color:#3b82f6;animation:iconBounce 2s ease-in-out .6s infinite}@keyframes iconBounce{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.15) translateY(-6px)}}.popup-footer{display:none}[data-theme=dark] .popup-footer{border-top-color:hsla(0,0%,100%,.08);background:rgba(0,0,0,.15)}.popup-footer-text{font-size:.75rem;color:var(--text-muted);font-weight:500;letter-spacing:.3px}@media (max-width:640px){.app-container{padding:calc(72px + env(safe-area-inset-top, 0px)) .85rem calc(86px + env(safe-area-inset-bottom, 0px))}.gradient-text{font-size:1.55rem;line-height:1.08}.subtitle{font-size:.88rem;line-height:1.5}.hero-badge{padding:5px 12px;font-size:.72rem}.hero-card{padding:1rem!important}.hero-content{gap:.6rem}.hero-stats{padding:7px 8px}.stat-pill{font-size:.72rem;padding:0 6px}.feat-card{padding:11px 12px;gap:10px}.feat-icon{width:36px;height:36px;font-size:.98rem}.feat-arrow{font-size:.7rem}.glass-card{padding:1.05rem}.section-header{gap:10px;margin-bottom:.95rem}.section-title{font-size:1.15rem}.section-sub{font-size:.75rem}.card-header{gap:10px;margin-bottom:.95rem}.card-header h3{font-size:.98rem}.card-header p{font-size:.76rem}.input-container{gap:.85rem;margin-bottom:1rem}.grade-grid{gap:.7rem;margin-bottom:1rem}.grade-input-box{padding:9px}.grade-label{font-size:.8rem;gap:6px}.grade-label .sub-text{font-size:.72rem}.action-buttons{gap:8px}.bnav-btn span{font-size:.56rem}.faculty-shell{gap:.6rem}.faculty-toolbar{gap:10px}.faculty-search-wrap{flex:1 1 100%}.faculty-search-wrap input{padding:11px 14px 11px 38px;font-size:.9rem}.faculty-count{padding:8px 12px;font-size:.76rem}.faculty-list{grid-template-columns:1fr;gap:10px;margin-top:0}.faculty-card{padding:13px;gap:10px}.faculty-badge{width:44px;height:44px}.faculty-text h3{font-size:.95rem}.faculty-text p{font-size:.8rem;margin-top:3px}.faculty-action{padding:10px;font-size:.76rem}.faculty-empty{min-height:200px;padding:1.1rem}.faculty-empty h3{font-size:1rem}.faculty-empty p{font-size:.82rem}.portfolio-popup{width:calc(100vw - 32px);max-width:420px;bottom:100px;right:16px;border-radius:20px}.popup-header{padding:24px 24px 16px}.popup-content{padding:0 24px}.popup-title{font-size:1.4rem}.popup-subtitle{font-size:.9rem}.popup-actions{grid-template-columns:1fr}.popup-btn{padding:12px}.popup-footer{padding:12px 24px}}@media (max-width:900px){.portfolio-popup{bottom:110px;right:16px;width:380px;border-radius:20px}.popup-title{font-size:1.5rem}}@media (min-width:1200px){.portfolio-popup{bottom:32px;right:32px;width:440px}}.grade-stat{display:flex;flex-direction:column;align-items:center;padding:1rem 1.2rem;background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.1);border-radius:var(--radius-md);transition:all .3s ease}.grade-stat:hover{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(16,185,129,.15)}[data-theme=dark] .grade-stat{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.15)}[data-theme=dark] .grade-stat:hover{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.25)}.stat-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.6rem}.stat-value{font-size:1.8rem;font-weight:700;color:var(--primary);font-family:JetBrains Mono,monospace}@keyframes resultPop{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes floatResult{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes shimmerFlow{0%{transform:translateX(-120%)}to{transform:translateX(120%)}}@keyframes ringGlow{0%,to{filter:drop-shadow(0 0 10px rgba(16,185,129,.22))}50%{filter:drop-shadow(0 0 18px rgba(59,130,246,.3))}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sectionReveal{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:1100px){.split-layout{grid-template-columns:1fr}.app-container{gap:1.5rem;padding:1.6rem 1.2rem}}@media (max-width:768px){.bottom-nav,.floating-action-btn,.topbar{display:flex}.app-container{flex-direction:column;align-items:stretch;padding:calc(72px + env(safe-area-inset-top, 0px)) .85rem calc(92px + env(safe-area-inset-bottom, 0px));gap:1rem}.main-content,.tool-section{width:100%;min-width:0;overflow-x:hidden}.main-content{max-width:100%}.section-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:1rem}.section-icon-wrap{width:44px;height:44px;font-size:1.15rem}.section-title{font-size:1.18rem;line-height:1.15}.section-sub{font-size:.78rem;line-height:1.4}.glass-card{padding:.95rem;border-radius:18px}.sidebar-wrapper{position:fixed;top:0;left:-280px;height:100vh;width:260px;z-index:1000;transition:left .4s cubic-bezier(.175,.885,.32,1.275);will-change:transform}.sidebar-wrapper.drawer-open{left:0}.floating-sidebar{width:260px;height:100%;border-radius:0 32px 32px 0;padding:calc(80px + env(safe-area-inset-top, 0px)) 16px 24px;align-items:flex-start;z-index:1005;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;isolation:isolate;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}[data-theme=dark] .floating-sidebar{background:#081222!important}.sidebar-wrapper.drawer-open .floating-sidebar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:var(--shadow-md)!important;z-index:1105!important;background:#fff!important;isolation:isolate}[data-theme=dark] .sidebar-wrapper.drawer-open .floating-sidebar{background:#081222!important}.brand-icon{display:none}.nav-items{align-items:flex-start;width:100%;gap:.5rem}.side-btn{width:100%!important;border-radius:var(--radius-md)}.side-btn .nav-text{opacity:1;transform:none}.side-btn.active,.side-btn:hover{width:100%!important}.nav-divider,.sidebar-footer{width:100%}.theme-toggle-sidebar{width:100%!important;border-radius:var(--radius-md)}.theme-toggle-sidebar .nav-text{opacity:1;transform:none}.grade-grid{grid-template-columns:1fr}.hero-card{height:auto;min-height:0;padding:1rem!important}.hero-content{gap:.55rem}.hero-feature-label{font-size:.64rem;letter-spacing:.1em;padding:5px 10px}.hero-logo.static-logo{width:166px;max-width:76%}.hero-badge{padding:5px 11px;font-size:.7rem}.gradient-text{font-size:1.5rem;line-height:1.05}.subtitle{font-size:.86rem;line-height:1.45;max-width:100%}.hero-card:after,.hero-orb,.hero-ring,.logo-glow-ring{display:none!important}.feature-cards{flex-direction:column;gap:8px}.feat-card{width:100%;flex-basis:auto;padding:11px 12px}.feat-icon{width:36px;height:36px;font-size:.95rem}.feat-text strong{font-size:.83rem}.feat-text span{line-height:1.25;font-size:.72rem}.huge-result{font-size:3.4rem}.split-layout{gap:1rem}.card-header{gap:12px;margin-bottom:1.1rem}.card-header h3{font-size:1.05rem}.card-header p{font-size:.8rem;line-height:1.35}.input-container{gap:1rem;margin-bottom:1.25rem}.grade-grid{gap:.8rem;margin-bottom:1.2rem}.grade-input-box{padding:10px}.input-group label{margin-bottom:5px;font-size:.82rem}.action-buttons{flex-direction:column;gap:10px}.action-buttons .btn,.download-actions .btn,.full-width{width:100%}.primary-btn{font-size:1rem;min-height:48px;padding:12px 16px}.small-btn{font-size:.92rem}.bnav-btn span{font-size:.58rem}.bnav-btn i{font-size:1rem}.faculty-toolbar{flex-direction:column;align-items:stretch;gap:10px}.faculty-search-wrap{flex:1 1 100%}.faculty-count{width:-moz-fit-content;width:fit-content;align-self:flex-start}.faculty-list{grid-template-columns:1fr 1fr;gap:12px}.faculty-shell{gap:.8rem}.faculty-card{padding:14px}.faculty-actions{flex-direction:column}}@media (max-width:480px){.app-container{padding:calc(66px + env(safe-area-inset-top, 0px)) .7rem calc(88px + env(safe-area-inset-bottom, 0px));gap:.9rem}.topbar-title{font-size:.84rem}.topbar-logo{height:28px}.hero-logo.static-logo{width:148px}.gradient-text{font-size:1.24rem;letter-spacing:-.9px}.subtitle{font-size:.8rem}.glass-card{padding:.9rem;border-radius:16px}.section-title{font-size:1.05rem}.section-sub{font-size:.73rem}.card-header h3{font-size:.95rem}.card-header p{font-size:.73rem}.feat-card{padding:10px 11px;border-radius:14px}.feat-icon{width:34px;height:34px;font-size:.92rem}.feat-text strong{font-size:.8rem}.feat-text span{font-size:.69rem}.faculty-list{grid-template-columns:1fr}.bnav-btn span{font-size:.56rem}.bnav-btn i{font-size:.98rem}.floating-action-btn{right:14px;bottom:calc(84px + env(safe-area-inset-bottom, 0))}}@media (hover:hover) and (min-width:769px){.sidebar-wrapper{transition:width .45s cubic-bezier(.175,.885,.32,1.275)}.sidebar-wrapper:hover,.sidebar-wrapper:hover .floating-sidebar{width:min(190px,calc(100vw - 56px))}}@media (hover:none),(pointer:coarse){.faculty-card:hover,.feat-card:hover,.outline-btn:hover,.primary-btn:hover,.side-btn:hover,.theme-toggle-sidebar:hover,.topbar-theme-btn:hover{transform:none;box-shadow:inherit;filter:none}.blob,.faculty-card,.feat-card,.hero-card:after,.hero-orb,.hero-ring,.logo-glow-ring,.pulse-btn,.side-btn.food-btn,.side-btn.portal-btn{animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#particle-canvas,.blob,.hero-card:after,.hero-orb,.hero-ring,.logo-glow-ring{display:none!important}}body.no-scroll{overflow:hidden;overscroll-behavior:none}.mobile-qa-toggle{bottom:calc(12px + env(safe-area-inset-bottom, 0px));z-index:1200;background:rgba(0,0,0,.7);color:#fff;padding:8px 10px;border-radius:10px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.28)}.mobile-qa-panel,.mobile-qa-toggle{position:fixed;left:12px;font-size:.85rem}.mobile-qa-panel{bottom:calc(56px + env(safe-area-inset-bottom, 0px));z-index:1300;width:260px;max-width:calc(100vw - 32px);background:hsla(0,0%,100%,.98);color:var(--text-main);border-radius:12px;padding:12px 12px 14px;box-shadow:0 18px 40px rgba(0,0,0,.18)}.mobile-qa-panel h4{margin:0 0 8px;font-size:.95rem}.mobile-qa-panel .qa-row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed rgba(0,0,0,.06)}.mobile-qa-panel .qa-row:last-of-type{border-bottom:none}.mobile-qa-panel .qa-note{margin-top:8px;font-size:.72rem;color:var(--text-muted)}.mobile-qa-close{position:absolute;top:8px;right:8px;border:none;background:transparent;font-size:1.05rem;cursor:pointer;color:var(--text-muted)}@media (min-width:769px){.mobile-qa-panel,.mobile-qa-toggle{display:none}}.cgpa-report-card,.mini-report-card{background:var(--surface)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-lg)!important;color:var(--text-main)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;padding:24px!important;border-radius:var(--radius-xl)!important;position:relative;overflow:visible}.cgpa-download-actions,.cgpa-metrics-grid,.cgpa-report-footer,.cgpa-report-header,.cgpa-report-hero,.mini-report-card>*{position:relative;z-index:1}.attendance-label,.cgpa-brand-kicker,.cgpa-footer-label,.cgpa-generated-pill,.cgpa-generated-pill span,.cgpa-mini-copy,.cgpa-report-subtitle,.cgpa-report-title,.cgpa-section-label,.report-kicker{color:var(--text-muted)!important}.cgpa-report-title{color:var(--text-main)!important;font-weight:800!important}.cgpa-score{font-size:clamp(3.8rem,9vw,5.8rem)!important;line-height:.95!important;background:linear-gradient(135deg,var(--primary) 0,var(--blue) 50%,#8b5cf6 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;margin:10px 0 14px!important;font-weight:900!important;font-family:JetBrains Mono,monospace!important;text-shadow:none!important}.achievement-badge,.cgpa-achievement,.status-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:rgba(16,185,129,.08)!important;color:var(--primary)!important;border:1px solid rgba(16,185,129,.16)!important;box-shadow:var(--shadow-sm)!important;font-weight:800!important;font-size:.78rem!important;padding:6px 14px!important;border-radius:999px!important;text-transform:uppercase!important;letter-spacing:.08em!important}.result-panel[data-mood=danger] .achievement-badge,.result-panel[data-mood=danger] .status-badge{background:rgba(239,68,68,.08)!important;color:var(--red)!important;border-color:rgba(239,68,68,.16)!important}.result-panel[data-mood=warm] .achievement-badge,.result-panel[data-mood=warm] .status-badge{background:rgba(245,158,11,.08)!important;color:var(--orange)!important;border-color:rgba(245,158,11,.16)!important}.cgpa-chart-panel,.cgpa-score-panel{background:var(--surface-2)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;border-radius:var(--radius-lg)!important;padding:16px!important}.cgpa-section-label,.report-kicker{border:1px solid var(--border)!important;font-size:.7rem!important;padding:6px 12px!important;border-radius:999px!important;letter-spacing:.15em!important;text-transform:uppercase!important;font-weight:800!important}.cgpa-mini-copy span,.cgpa-section-label,.report-kicker{background:var(--surface-2)!important;color:var(--text-muted)!important}.cgpa-mini-copy span{border:1px solid var(--border)!important;font-size:.74rem!important;padding:6px 10px!important;border-radius:10px!important}.cgpa-metrics-grid{grid-template-columns:repeat(3,1fr)!important;margin-top:16px!important}.grade-stat{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;padding:14px!important;box-shadow:var(--shadow-sm)!important;min-height:auto!important;flex-direction:column!important;gap:6px!important;text-align:center!important}.grade-stat,.grade-stat-icon{display:flex!important;align-items:center!important;justify-content:center!important}.grade-stat-icon{width:32px!important;height:32px!important;border-radius:50%!important;background:rgba(16,185,129,.08)!important;color:var(--primary)!important;font-size:.9rem!important;margin-bottom:2px!important}.stat-label{color:var(--text-muted)!important;font-size:.75rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.05em!important}.stat-value{color:var(--text-main)!important;font-size:1.5rem!important;font-weight:900!important;font-family:JetBrains Mono,monospace!important;background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;border:none!important}.cgpa-chart-legend{display:grid!important;grid-template-columns:repeat(2,1fr)!important;grid-gap:10px!important;gap:10px!important;margin-top:16px!important}.cgpa-legend-item{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:10px 14px!important;border-radius:12px!important;background:var(--surface-2)!important;box-shadow:none!important}.cgpa-legend-item.empty{opacity:.45!important}.cgpa-legend-swatch{width:10px!important;height:10px!important;border-radius:50%!important;flex-shrink:0!important}.cgpa-legend-labels{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.cgpa-legend-label{color:var(--text-main)!important;font-weight:700!important;font-size:.9rem!important;text-shadow:none!important}.cgpa-legend-percent{color:var(--text-muted)!important;font-weight:600!important;font-size:.76rem!important}.cgpa-legend-percent,.cgpa-legend-value{background:transparent!important;padding:0!important;text-shadow:none!important}.cgpa-legend-value{color:var(--text-main)!important;font-weight:800!important;font-size:.9rem!important;font-family:JetBrains Mono,monospace!important}.cgpa-report-footer{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-gap:12px!important;gap:12px!important;margin-top:20px!important;padding-top:16px!important;border-top:1px solid var(--border)!important}.cgpa-footer-item{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;padding:10px 12px!important;box-shadow:none!important}.cgpa-footer-label{color:var(--text-muted)!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.68rem!important;margin-bottom:4px!important}.cgpa-footer-item strong,.cgpa-footer-label{display:block!important;font-weight:700!important}.cgpa-footer-item strong{color:var(--text-main)!important;font-size:.82rem!important;word-break:break-all!important}.attendance-ring-wrap{position:relative!important;width:178px!important;height:178px!important;margin:16px auto!important;display:block!important}.attendance-ring-wrap .ring-bg{stroke:var(--border)!important;stroke-width:8!important}.attendance-ring-wrap .ring-fill{stroke-width:9!important;filter:drop-shadow(0 8px 16px rgba(16,185,129,.15))!important}.ring-center-text{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--surface-2)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)!important;color:var(--text-main)!important;font-size:1.15rem!important;font-weight:900!important;border-radius:12px!important;padding:8px 12px!important;min-width:72px!important;font-family:JetBrains Mono,monospace!important;text-shadow:none!important;z-index:5!important}.result-stats{display:flex!important;gap:12px!important;margin:16px 0 8px!important;width:100%!important}.result-stats .stat-row{flex:1 1!important;background:var(--surface-2)!important;border:1px solid var(--border)!important;padding:10px 12px!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-shadow:none!important}.result-stats .stat-row span{color:var(--text-muted)!important;font-size:.8rem!important;font-weight:600!important}.result-stats .stat-row .stat-num{font-weight:900!important;font-size:1rem!important;color:var(--text-main)!important;font-family:JetBrains Mono,monospace!important;background:transparent!important;padding:0!important;border-radius:0!important;border:none!important;box-shadow:none!important}.safe-bunks-wrap{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important;padding:18px 14px!important;margin:12px 0!important;box-shadow:var(--shadow-sm)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important}.safe-bunks-label{font-size:.72rem!important;font-weight:800!important;letter-spacing:.16em!important;color:var(--text-muted)!important;text-transform:uppercase!important}.safe-bunks-number{font-size:clamp(3.5rem,8vw,5rem)!important;font-weight:900!important;line-height:1!important;color:var(--result-accent,var(--primary))!important;-webkit-text-fill-color:var(--result-accent,var(--primary))!important;background:transparent!important;border:none!important;box-shadow:none!important;text-shadow:none!important;display:inline-flex!important}.bunk-attendance-display{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:12px 14px!important;background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:999px!important;box-shadow:var(--shadow-sm)!important;margin-bottom:12px!important}.attendance-label{font-size:.74rem!important;font-weight:800!important;color:var(--text-muted)!important;text-transform:uppercase!important;letter-spacing:.08em!important}.attendance-value{font-size:1.15rem!important;font-weight:900!important;color:var(--result-accent,var(--primary))!important;background:transparent!important;padding:0!important;border-radius:0!important}.bunk-progress-wrap{display:flex!important;flex-direction:column!important;gap:8px!important;background:transparent!important;border:none!important}.bunk-progress-track,.bunk-progress-wrap{width:100%!important;box-shadow:none!important}.bunk-progress-track{height:12px!important;border-radius:999px!important;background:var(--border)!important;border:none!important;overflow:hidden!important}.bunk-progress-fill{height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,var(--result-accent,var(--primary)),var(--result-accent-2,var(--blue)))!important;box-shadow:none!important}.bunk-progress-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;color:var(--text-muted)!important;font-size:.78rem!important;font-weight:600!important}.bunk-progress-meta strong{color:var(--text-main)!important;font-family:JetBrains Mono,monospace!important}.result-desc{border:1px solid var(--border)!important;border-radius:14px!important;color:var(--text-main)!important;padding:12px 16px!important;display:inline-flex!important;align-items:center!important;gap:8px!important;box-shadow:var(--shadow-sm)!important;font-size:.9rem!important}.result-desc,.result-title{background:var(--surface-2)!important}.result-title{font-size:.74rem!important;font-weight:800!important;color:var(--text-muted)!important;letter-spacing:.18em!important;text-transform:uppercase!important;border:1px solid var(--border)!important;padding:6px 12px!important;border-radius:999px!important;box-shadow:none!important;margin-bottom:12px!important}.empty-state h3{color:var(--text-main)!important}.empty-state p{color:var(--text-muted)!important}.result-panel[data-mood=success]{--result-accent:#22c55e;--result-accent-2:#3b82f6}.result-panel[data-mood=good]{--result-accent:#3b82f6;--result-accent-2:#10b981}.result-panel[data-mood=warm]{--result-accent:#f59e0b;--result-accent-2:#fb7185}.result-panel[data-mood=danger]{--result-accent:#ef4444;--result-accent-2:#f97316}#bunk-huge{display:none!important}.cgpa-download-actions .small-btn,.mini-report-card .download-actions .btn{background:var(--surface-2)!important;color:var(--text-main)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)!important}.cgpa-download-actions .small-btn:hover,.mini-report-card .download-actions .btn:hover{transform:translateY(-2px)!important;box-shadow:var(--shadow-md)!important;border-color:var(--border-glow)!important}.is-exporting,.is-exporting .cgpa-report-card,.is-exporting .mini-report-card{background:#fff!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 30px 80px rgba(6,12,20,.12)!important;color:#07111f!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.is-exporting .bunk-attendance-display,.is-exporting .cgpa-chart-panel,.is-exporting .cgpa-footer-item,.is-exporting .cgpa-legend-item,.is-exporting .cgpa-score-panel,.is-exporting .grade-stat,.is-exporting .result-desc,.is-exporting .result-stats .stat-row,.is-exporting .ring-center-text,.is-exporting .safe-bunks-wrap{background:#f8fafc!important;border:1px solid rgba(15,23,42,.06)!important;color:#07111f!important;box-shadow:none!important}.is-exporting .attendance-value,.is-exporting .cgpa-legend-percent,.is-exporting .cgpa-legend-value,.is-exporting .cgpa-score,.is-exporting .huge-result,.is-exporting .ring-center-text,.is-exporting .safe-bunks-number,.is-exporting .stat-value{color:#07111f!important;-webkit-text-fill-color:#07111f!important;background:transparent!important;text-shadow:none!important}.is-exporting .attendance-label,.is-exporting .cgpa-brand-kicker,.is-exporting .cgpa-footer-item strong,.is-exporting .cgpa-footer-label,.is-exporting .cgpa-generated-pill,.is-exporting .cgpa-generated-pill span,.is-exporting .cgpa-mini-copy,.is-exporting .cgpa-mini-copy span,.is-exporting .cgpa-report-subtitle,.is-exporting .cgpa-report-title,.is-exporting .cgpa-section-label,.is-exporting .mini-report-card .result-desc,.is-exporting .mini-report-card .result-title,.is-exporting .report-kicker,.is-exporting .result-stats .stat-row .stat-num,.is-exporting .result-stats .stat-row span,.is-exporting .safe-bunks-label{color:#334155!important}.is-exporting .achievement-badge,.is-exporting .cgpa-achievement,.is-exporting .status-badge{background:rgba(16,185,129,.08)!important;color:#059669!important;border:1px solid rgba(16,185,129,.16)!important;box-shadow:none!important}.att-target-bar-wrap{position:relative!important;width:100%!important;height:14px!important;border-radius:999px!important;background:var(--border,rgba(15,23,42,.08))!important;margin:16px 0 6px!important;overflow:visible!important}.att-target-bar-fill{height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,var(--result-accent,#10b981),var(--result-accent-2,#3b82f6))!important;transition:width .8s cubic-bezier(.4,0,.2,1)!important}.att-target-line{position:absolute!important;left:80%!important;top:-5px!important;bottom:-5px!important;width:2px!important;border-left:2px dashed rgba(15,23,42,.38)!important;z-index:3!important}[data-theme=dark] .att-target-line{border-left-color:hsla(0,0%,100%,.45)!important}.att-target-bar-labels{position:relative!important;width:100%!important;height:16px!important;margin-bottom:12px!important}.att-target-label-text{position:absolute!important;left:80%!important;transform:translateX(-50%)!important;font-size:.72rem!important;font-weight:800!important;color:var(--text-muted,#64748b)!important;white-space:nowrap!important}.attendance-ring-card-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;margin:8px 0!important;width:100%!important}.attendance-ring-outer-wrap{position:relative!important;width:148px!important;height:148px!important}.att-ring{width:100%!important;height:100%!important;transform:rotate(-90deg)!important}.att-ring .ring-bg{fill:none!important;stroke:var(--border,rgba(148,163,184,.12))!important;stroke-width:9!important}.att-ring .ring-fill{fill:none!important;stroke-width:10!important;stroke-linecap:round!important;stroke:var(--result-accent,#10b981)!important;transition:stroke-dashoffset .8s cubic-bezier(.22,1,.36,1)!important}.att-ring-floating-badge{position:absolute!important;top:-2px!important;left:50%!important;transform:translate(-50%,-50%)!important;background:var(--result-accent,#10b981)!important;color:#fff!important;font-size:.76rem!important;font-weight:900!important;font-family:JetBrains Mono,monospace!important;padding:3px 9px!important;border-radius:999px!important;box-shadow:0 4px 12px rgba(0,0,0,.16)!important;border:2px solid var(--surface-card,#fff)!important;z-index:10!important;text-shadow:none!important}.att-ring-center-content{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;pointer-events:none!important;z-index:2!important}.att-ring-center-content i{font-size:2.1rem!important;color:var(--result-accent,#10b981)!important;margin-bottom:2px!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.06))!important}.att-ring-center-content span{font-size:.8rem!important;font-weight:800!important;color:var(--text-main,#0f172a)!important;text-transform:uppercase!important;letter-spacing:.05em!important}.bunk-ring-subtext{margin-top:12px!important;font-size:.82rem!important;font-weight:700!important;color:var(--text-muted,#64748b)!important;text-align:center!important}.att-details-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-gap:16px!important;gap:16px!important;margin:20px 0!important;width:100%!important}.att-details-card{background:var(--surface-2,hsla(0,0%,100%,.55))!important;border:1px solid var(--border,rgba(15,23,42,.05))!important;border-radius:20px!important;padding:18px!important;display:flex!important;flex-direction:column!important;gap:12px!important;box-shadow:var(--shadow-sm,0 10px 30px rgba(0,0,0,.01))!important}.att-details-title{font-size:.82rem!important;font-weight:900!important;color:var(--text-main,#0f172a)!important;text-transform:uppercase!important;letter-spacing:.1em!important;margin:0!important;padding-bottom:10px!important;border-bottom:1px solid var(--border,rgba(15,23,42,.05))!important}.att-analysis-list{flex-direction:column!important}.att-analysis-item,.att-analysis-list{display:flex!important;gap:10px!important}.att-analysis-item{align-items:flex-start!important;font-size:.78rem!important;line-height:1.35!important}.att-analysis-item i{font-size:.95rem!important;margin-top:1px!important;flex-shrink:0!important}.att-analysis-item div{display:flex!important;flex-direction:column!important}.att-analysis-item div strong{color:var(--text-main,#0f172a)!important;font-weight:700!important}.att-analysis-item div span{color:var(--text-muted,#64748b)!important;font-size:.72rem!important}.att-analysis-highlight-box{margin-top:auto!important;padding:10px 12px!important;border-radius:12px!important;background:rgba(16,185,129,.08)!important;border:1px dashed rgba(16,185,129,.3)!important;color:#047857!important;font-size:.78rem!important;font-weight:800!important;text-align:center!important;line-height:1.4!important}.att-analysis-highlight-box.danger-box{background:rgba(239,68,68,.08)!important;border-color:rgba(239,68,68,.3)!important;color:#dc2626!important}.att-forecast-list{display:flex!important;flex-direction:column!important;gap:8px!important}.att-forecast-row{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:8px 12px!important;border-radius:12px!important;background:var(--surface-card,rgba(15,23,42,.02))!important;font-size:.78rem!important}.att-forecast-row span{color:var(--text-muted,#64748b)!important}.att-forecast-row strong{color:var(--text-main,#0f172a)!important;font-family:JetBrains Mono,monospace!important;font-weight:800!important}.att-forecast-tip{margin-top:auto!important;font-size:.72rem!important;color:var(--text-muted,#64748b)!important;line-height:1.4!important;background:var(--surface-card,rgba(15,23,42,.02))!important;padding:8px 12px!important;border-radius:12px!important;border-left:3px solid var(--result-accent,#3b82f6)!important}.att-status-list{display:flex!important;flex-direction:column!important;gap:6px!important}.att-status-row{display:flex!important;align-items:center!important;gap:10px!important;padding:6px 10px!important;border-radius:10px!important;border:1px solid transparent!important;transition:all .2s ease!important;opacity:.4!important}.att-status-row.active{background:var(--surface-card,#fff)!important;border-color:var(--border,rgba(15,23,42,.08))!important;box-shadow:var(--shadow-sm,0 4px 12px rgba(0,0,0,.02))!important}[data-theme=dark] .att-status-row.active{background:hsla(0,0%,100%,.06)!important}.status-indicator{width:8px!important;height:8px!important;border-radius:50%!important;flex-shrink:0!important}.status-indicator.indicator-excellent{background:#10b981!important}.status-indicator.indicator-good{background:#3b82f6!important}.status-indicator.indicator-warning{background:#f59e0b!important}.status-indicator.indicator-critical{background:#ef4444!important}.status-info{display:flex!important;flex-direction:column!important;min-width:0!important;flex-grow:1!important}.status-info strong{font-size:.76rem!important;color:var(--text-main,#0f172a)!important;font-weight:700!important}.status-info span{font-size:.68rem!important}.status-info span,.status-pill{color:var(--text-muted,#64748b)!important}.status-pill{font-size:.72rem!important;font-weight:800!important;padding:2px 6px!important;border-radius:6px!important;font-family:JetBrains Mono,monospace!important;background:var(--border,rgba(15,23,42,.05))!important}.att-status-row.active .status-pill.pill-excellent{background:rgba(16,185,129,.15)!important;color:#10b981!important}.att-status-row.active .status-pill.pill-good{background:rgba(59,130,246,.15)!important;color:#3b82f6!important}.att-status-row.active .status-pill.pill-warning{background:rgba(245,158,11,.15)!important;color:#d97706!important}.att-status-row.active .status-pill.pill-critical{background:rgba(239,68,68,.15)!important;color:#ef4444!important}.bunk-summary-card{background:var(--surface-2,hsla(0,0%,100%,.55))!important;border:1px solid var(--border,rgba(15,23,42,.05))!important;border-radius:20px!important;padding:18px!important;display:flex!important;flex-direction:column!important;gap:12px!important;box-shadow:var(--shadow-sm,0 10px 30px rgba(0,0,0,.01))!important;margin-top:14px!important;width:100%!important}.bunk-summary-header{font-size:.82rem!important;font-weight:900!important;color:var(--text-main,#0f172a)!important;text-transform:uppercase!important;letter-spacing:.1em!important;padding-bottom:10px!important;border-bottom:1px solid var(--border,rgba(15,23,42,.05))!important;gap:8px!important}.bunk-summary-body,.bunk-summary-header{display:flex!important;align-items:center!important}.bunk-summary-body{gap:16px!important;width:100%!important}.bunk-safe-box{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:12px 18px!important;background:rgba(16,185,129,.08)!important;border:1px solid rgba(16,185,129,.15)!important;border-radius:16px!important;min-width:150px!important;flex-shrink:0!important;text-align:center!important}.bunk-safe-box.danger-box{background:rgba(239,68,68,.08)!important;border-color:rgba(239,68,68,.15)!important}.bunk-safe-title{font-size:.65rem!important;font-weight:800!important;color:var(--text-muted,#64748b)!important;letter-spacing:.06em!important;text-transform:uppercase!important}.bunk-safe-num{font-size:2.3rem!important;font-weight:900!important;color:#059669!important;font-family:JetBrains Mono,monospace!important;line-height:1!important;margin-top:4px!important}.bunk-safe-box.danger-box .bunk-safe-num{color:#dc2626!important}.bunk-safe-desc{font-size:.82rem!important;color:var(--text-muted,#64748b)!important;line-height:1.45!important;flex-grow:1!important}.cgpa-checklist{display:flex!important;flex-direction:column!important;gap:8px!important;margin:12px 0!important;width:100%!important}.cgpa-checklist-item{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 12px!important;background:var(--surface-2,rgba(15,23,42,.02))!important;border-radius:12px!important;border:1px solid var(--border,rgba(15,23,42,.04))!important;font-size:.78rem!important}.cgpa-checklist-item span{color:var(--text-muted,#64748b)!important;font-weight:600!important}.cgpa-checklist-item i{font-size:.95rem!important}.cgpa-award-pill{padding:8px 14px!important;border-radius:12px!important;font-weight:800!important;font-size:.76rem!important;text-transform:uppercase!important;letter-spacing:.08em!important;display:inline-block!important;margin-top:10px!important;text-align:center!important;background:rgba(16,185,129,.08)!important;color:#059669!important;border:1px solid rgba(16,185,129,.16)!important;align-self:flex-start!important}.cgpa-chart-container{position:relative!important;width:100%!important;height:100%!important}.cgpa-chart-center-icon,.cgpa-chart-container{display:flex!important;align-items:center!important;justify-content:center!important}.cgpa-chart-center-icon{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;font-size:2.1rem!important;color:#7c3aed!important;pointer-events:none!important;z-index:1!important}.result-panel[data-mood] .cgpa-chart-center-icon{color:var(--result-accent,#7c3aed)!important}.cgpa-metrics-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-gap:12px!important;gap:12px!important}.cgpa-metrics-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cgpa-metrics-grid.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))!important}@media (max-width:991px){.cgpa-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cgpa-metrics-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cgpa-metrics-grid.four-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:640px){.cgpa-metrics-grid,.cgpa-metrics-grid.four-columns,.cgpa-metrics-grid.three-columns{grid-template-columns:1fr!important}}@media (max-width:768px){.att-details-grid{grid-template-columns:1fr!important;gap:12px!important}.bunk-summary-body{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.bunk-safe-box{width:100%!important}}.att-status-row{opacity:.68!important}.att-status-row.active{opacity:1!important}.cgpa-report-card .stat-value,.grade-stat .stat-value,.mini-report-card .stat-value{color:var(--text-main)!important;text-shadow:none!important;background:transparent!important;padding:0!important;display:inline-block!important;font-weight:900!important}.cgpa-legend-item{background:var(--surface-2,hsla(0,0%,100%,.7))!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)!important}.cgpa-legend-item .cgpa-legend-label{color:var(--text-main)!important;text-shadow:none!important}.cgpa-legend-item .cgpa-legend-percent{color:var(--text-muted)!important;text-shadow:none!important}.cgpa-legend-item .cgpa-legend-value{color:var(--text-main)!important;text-shadow:none!important}.cgpa-report-card .cgpa-brand-kicker,.cgpa-report-card .cgpa-footer-item strong,.cgpa-report-card .cgpa-footer-label,.cgpa-report-card .cgpa-report-subtitle,.cgpa-report-card .cgpa-section-label,.cgpa-report-card .report-kicker,.mini-report-card .attendance-label,.mini-report-card .bunk-ring-subtext,.mini-report-card .bunk-safe-desc,.mini-report-card .bunk-safe-title,.mini-report-card .cgpa-section-label,.mini-report-card .report-kicker,.mini-report-card .stat-label{color:var(--text-muted)!important;text-shadow:none!important}.cgpa-report-card .cgpa-achievement,.cgpa-report-card .cgpa-achievement span,.cgpa-report-card .cgpa-footer-item,.cgpa-report-card .cgpa-report-title,.mini-report-card .att-forecast-row span,.mini-report-card .att-forecast-row strong,.mini-report-card .att-forecast-tip,.mini-report-card .cgpa-report-title,.mini-report-card .result-title,.mini-report-card .status-info span,.mini-report-card .status-info strong{color:var(--text-main)!important;text-shadow:none!important}.stat-value.text-green,.text-green{color:#10b981!important}.stat-value.text-red,.text-red{color:#ef4444!important}.att-status-row:active,.bnav-btn:active,.btn:active,.cgpa-legend-item:active,.feat-card:active,.food-btn:active,.magnetic-btn:active,.portal-btn:active,.side-btn:active{transform:scale(.96)!important;transition:transform .08s cubic-bezier(.25,.46,.45,.94)!important}.bnav-btn,.btn,.feat-card,.food-btn,.magnetic-btn,.portal-btn,.side-btn,input[type=number],input[type=search]{touch-action:manipulation!important;-moz-user-select:none;user-select:none;-webkit-user-select:none}.att-ring-fill,.att-target-bar-fill,.bunk-progress-fill,.cgpa-report-card,.glass-card,.mini-report-card,.more-drawer,.popup-glow,.result-state,.sidebar-wrapper{will-change:transform,opacity!important}.cgpa-report-card,.glass-card,.mini-report-card,.more-drawer,.sidebar-wrapper,body,main{transition:background-color .45s ease,border-color .45s ease,color .45s ease,box-shadow .45s ease!important}@media (max-width:768px){input[type=number],input[type=search],select{font-size:16px!important}}.chatbot-fab{position:fixed;bottom:88px;right:20px;z-index:1200;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary) 0,#059669 100%);color:#fff;box-shadow:0 4px 24px var(--primary-glow),0 2px 8px rgba(0,0,0,.18);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.chatbot-fab:hover{transform:scale(1.1);box-shadow:0 6px 32px var(--primary-glow),0 4px 12px rgba(0,0,0,.22)}.chatbot-fab:active{transform:scale(.95)}.chatbot-fab-ping{position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:50%;background:#f59e0b;animation:chatbot-ping 2s ease-in-out infinite}@keyframes chatbot-ping{0%,to{box-shadow:0 0 0 0 rgba(245,158,11,.5)}60%{box-shadow:0 0 0 8px rgba(245,158,11,0)}}.chatbot-fab.chatbot-open .chatbot-fab-ping{display:none}.chatbot-fab-icon{position:absolute;transition:opacity .25s,transform .25s;font-size:22px}.chatbot-icon-open{opacity:1;transform:scale(1) rotate(0deg)}.chatbot-icon-close{opacity:0;transform:scale(.5) rotate(90deg)}.chatbot-fab.chatbot-open .chatbot-icon-open{opacity:0;transform:scale(.5) rotate(-90deg)}.chatbot-fab.chatbot-open .chatbot-icon-close{opacity:1;transform:scale(1) rotate(0deg)}@media (min-width:700px){.chatbot-fab{bottom:28px;right:28px}}.chatbot-panel{position:fixed;bottom:156px;right:20px;z-index:1199;width:min(380px,calc(100vw - 24px));max-height:min(580px,calc(var(--vh, 1vh) * 100 - 180px));background:var(--surface);border:1px solid var(--border-glow);border-radius:var(--radius-xl);box-shadow:0 24px 64px rgba(0,0,0,.18),0 0 0 1px var(--border),0 0 40px var(--primary-glow);display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;transition:opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1);transform-origin:bottom right}.chatbot-panel.chatbot-panel-open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}@media (min-width:700px){.chatbot-panel{bottom:100px;right:28px}}@media (max-width:420px){.chatbot-panel{right:8px;bottom:148px;width:calc(100vw - 16px);border-radius:var(--radius-lg)}}.chatbot-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--primary) 0,#047857 100%);flex-shrink:0}.chatbot-header-left{display:flex;align-items:center;gap:10px}.chatbot-avatar{position:relative;width:38px;height:38px;border-radius:50%;background:hsla(0,0%,100%,.2);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex-shrink:0}.chatbot-status-dot{position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;background:#34d399;border:2px solid #047857}.chatbot-header-info{display:flex;flex-direction:column}.chatbot-name{font-weight:700;font-size:14px;color:#fff}.chatbot-status-text{font-size:11px;color:hsla(0,0%,100%,.8)}.chatbot-header-actions{display:flex;align-items:center;gap:4px}.chatbot-clear-btn,.chatbot-close-btn{width:32px;height:32px;border-radius:50%;border:none;background:hsla(0,0%,100%,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .2s}.chatbot-clear-btn:hover,.chatbot-close-btn:hover{background:hsla(0,0%,100%,.28)}.chatbot-messages{flex:1 1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain}.chatbot-messages::-webkit-scrollbar{width:4px}.chatbot-messages::-webkit-scrollbar-track{background:transparent}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px}.chatbot-msg{display:flex;gap:8px;max-width:100%;animation:chatbot-msg-in .28s cubic-bezier(.34,1.56,.64,1) both}@keyframes chatbot-msg-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chatbot-msg.bot{align-self:flex-start}.chatbot-msg.user{align-self:flex-end;flex-direction:row-reverse}.chatbot-msg-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:2px}.chatbot-msg.user .chatbot-msg-avatar{background:var(--blue-light);color:var(--blue)}.chatbot-bubble{max-width:82%;padding:10px 13px;border-radius:16px;font-size:13.5px;line-height:1.55;color:var(--text-main);background:var(--surface-2);border:1px solid var(--border);word-break:break-word}.chatbot-msg.bot .chatbot-bubble{border-radius:4px 16px 16px 16px}.chatbot-msg.user .chatbot-bubble{background:linear-gradient(135deg,var(--primary) 0,#047857 100%);color:#fff;border-color:transparent;border-radius:16px 4px 16px 16px}.chatbot-typing{display:flex;align-items:center;gap:8px;padding:4px 14px 6px;flex-shrink:0;opacity:0;height:0;overflow:hidden;transition:opacity .2s,height .2s}.chatbot-typing.visible{opacity:1;height:36px}.chatbot-typing-avatar{width:26px;height:26px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.chatbot-typing-dots{display:flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px 14px 14px 14px;padding:8px 12px}.chatbot-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:chatbot-dot 1.2s ease-in-out infinite}.chatbot-typing-dots span:nth-child(2){animation-delay:.2s}.chatbot-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes chatbot-dot{0%,80%,to{transform:scale(.7);opacity:.4}40%{transform:scale(1);opacity:1}}.chatbot-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 14px 2px;flex-shrink:0}.chatbot-chip{padding:5px 12px;border-radius:20px;border:1px solid var(--border-glow);background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap;font-family:inherit}.chatbot-chip:hover{background:var(--primary);color:#fff;border-color:transparent;transform:translateY(-1px)}.chatbot-chip:active{transform:scale(.95)}.chatbot-input-row{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-top:1px solid var(--border);flex-shrink:0}.chatbot-input{flex:1 1;padding:9px 13px;border-radius:20px;border:1.5px solid var(--border);background:var(--bg-secondary);color:var(--text-main);font-size:13.5px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;min-width:0}.chatbot-input::placeholder{color:var(--text-muted)}.chatbot-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.chatbot-send-btn{width:38px;height:38px;border-radius:50%;border:none;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:background .2s,transform .15s}.chatbot-send-btn:hover{background:var(--primary-h);transform:scale(1.08)}.chatbot-send-btn:active{transform:scale(.92)}.chatbot-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chatbot-disclaimer{text-align:center;font-size:10.5px;color:var(--text-muted);padding:0 12px 10px;margin:0;flex-shrink:0}.chat-fac-card{background:var(--surface);border:1px solid var(--border-glow);border-radius:var(--radius-md);padding:10px 12px;margin-top:6px;box-shadow:0 4px 12px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:6px}.chat-fac-name{font-weight:700;font-size:14px;color:var(--text-main);display:flex;align-items:center;gap:6px}.chat-fac-phone{font-size:13px;color:var(--text-muted);font-family:JetBrains Mono,monospace;letter-spacing:.5px}.chat-fac-actions{display:flex;gap:8px;margin-top:4px}.chat-fac-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;text-decoration:none!important;transition:transform .15s,opacity .15s;cursor:pointer;border:none}.chat-fac-btn:active{transform:scale(.95)}.chat-fac-btn.call-btn{background:var(--primary);color:#fff!important}.chat-fac-btn.wa-btn{background:#25d366;color:#fff!important}.chat-calc-card{background:var(--surface);border:1px solid var(--border-glow);border-radius:var(--radius-md);padding:12px;margin-top:6px;box-shadow:0 4px 14px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:8px}.chat-calc-title{font-weight:700;font-size:13.5px;color:var(--primary);display:flex;align-items:center;gap:6px}.chat-calc-row{display:flex;gap:8px}.chat-calc-field{flex:1 1;display:flex;flex-direction:column;gap:3px}.chat-calc-field.full{width:100%}.chat-calc-field label{font-size:11px;font-weight:600;color:var(--text-muted)}.chat-calc-field input{width:100%;padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-main);font-size:13px;outline:none;font-family:inherit}.chat-calc-field input:focus{border-color:var(--primary)}.chat-calc-btn{padding:8px 14px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary) 0,#059669 100%);color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;gap:6px}.chat-calc-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-glow)}.chat-calc-btn:active{transform:scale(.96)}.chat-calc-res{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:12.5px;line-height:1.5;color:var(--text-main);margin-top:2px}.chat-calc-res.hidden{display:none}@media (max-width:600px){.chatbot-fab{bottom:80px!important;right:16px!important;width:52px!important;height:52px!important}.chatbot-panel{right:8px!important;left:8px!important;width:auto!important;bottom:76px!important;max-height:min(520px,calc(var(--vh, 1vh) * 100 - 90px))!important;border-radius:var(--radius-lg)!important}.chatbot-bubble{max-width:88%!important;font-size:13px!important}.chat-fac-actions{flex-direction:row;flex-wrap:wrap}.chat-fac-btn{flex:1 1;min-width:90px;padding:8px 10px!important;font-size:11.5px!important}.chat-calc-row{flex-direction:row;gap:6px}}@media (min-width:601px) and (max-width:1024px){.chatbot-fab{bottom:84px!important;right:24px!important;width:56px!important;height:56px!important}.chatbot-panel{right:20px!important;left:auto!important;bottom:90px!important;width:360px!important;max-height:min(540px,calc(var(--vh, 1vh) * 100 - 110px))!important;border-radius:var(--radius-xl)!important}}@media (min-width:1025px){.chatbot-fab{bottom:28px!important;right:28px!important;width:56px!important;height:56px!important}.chatbot-panel{right:28px!important;left:auto!important;bottom:96px!important;width:380px!important;max-height:580px!important;border-radius:var(--radius-xl)!important}}.bot-avatar-img{border-radius:50%;display:block}.bot-waving-img{animation:bot-wave-idle 4s ease-in-out infinite;transform-origin:bottom center}.chatbot-fab:hover .bot-waving-img{animation:bot-hi-wave 1.2s ease-in-out infinite}@keyframes bot-wave-idle{0%,to{transform:translateY(0) rotate(0deg) scale(1.05)}25%{transform:translateY(-4px) rotate(-6deg) scale(1.08)}50%{transform:translateY(-1px) rotate(4deg) scale(1.05)}75%{transform:translateY(-3px) rotate(-4deg) scale(1.07)}}@keyframes bot-hi-wave{0%,to{transform:translateY(0) rotate(0deg) scale(1.08)}20%{transform:translateY(-5px) rotate(-14deg) scale(1.12)}40%{transform:translateY(-2px) rotate(14deg) scale(1.15)}60%{transform:translateY(-5px) rotate(-12deg) scale(1.12)}80%{transform:translateY(-1px) rotate(8deg) scale(1.1)}}.chatbot-fab-wrapper{bottom:88px;right:20px;z-index:1200;position:fixed;bottom:calc(75px + env(safe-area-inset-bottom));right:14px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.chatbot-fab-wrapper *{pointer-events:auto}@media (min-width:700px){.chatbot-fab-wrapper{bottom:max(28px,env(safe-area-inset-bottom));right:max(28px,env(safe-area-inset-right))}}.chatbot-fab-tooltip{background:linear-gradient(135deg,#0284c7,#06b6d4);color:#fff;padding:6px 14px;border-radius:18px 18px 4px 18px;font-size:12px;font-weight:700;box-shadow:0 6px 20px rgba(6,182,212,.35);margin-bottom:8px;animation:tooltip-bounce 3s ease-in-out infinite;pointer-events:none;white-space:nowrap;border:1.5px solid hsla(0,0%,100%,.4);transition:opacity .3s ease,transform .3s ease}@keyframes tooltip-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.03)}}.chatbot-fab{position:relative!important;bottom:0!important;right:0!important;width:clamp(58px,12vw,72px)!important;height:clamp(58px,12vw,72px)!important;border-radius:0!important;border:none!important;cursor:pointer;background:transparent!important;box-shadow:none!important;display:flex;align-items:center;justify-content:center;outline:none;padding:0!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.chatbot-fab:focus-visible{outline:3px solid #06b6d4;outline-offset:4px;border-radius:50%}.chatbot-fab-avatar-wrap{width:100%;height:100%;border-radius:0!important;overflow:visible!important;display:flex;align-items:center;justify-content:center;background:transparent!important}.robot-anim-wrap{position:relative;filter:drop-shadow(0 8px 18px rgba(6,182,212,.45)) drop-shadow(0 4px 10px rgba(0,0,0,.25))}.robot-anim-wrap,.robot-cursor-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;will-change:transform}.robot-cursor-wrap{transition:transform .15s ease-out}.bot-avatar-img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.bot-state-idle{animation:robotIdleFloat 3.2s ease-in-out infinite alternate!important}@keyframes robotIdleFloat{0%{transform:translateZ(0)}50%{transform:translate3d(0,-6px,0)}to{transform:translate3d(0,-1px,0)}}.bot-state-greeting{animation:robotGreetingBounce 1.8s cubic-bezier(.34,1.56,.64,1) 1!important}@keyframes robotGreetingBounce{0%{transform:translateZ(0) scale(1)}20%{transform:translate3d(0,-14px,0) scale(1.14) rotate(-6deg)}40%{transform:translate3d(0,-4px,0) scale(1.05) rotate(6deg)}60%{transform:translate3d(0,-10px,0) scale(1.09) rotate(-4deg)}80%{transform:translate3d(0,-2px,0) scale(1.03) rotate(2deg)}to{transform:translateZ(0) scale(1) rotate(0deg)}}.bot-state-thinking{animation:robotThinkingTilt 1.6s ease-in-out infinite alternate!important}@keyframes robotThinkingTilt{0%{transform:translate3d(-2px,-2px,0) rotate(-8deg) scale(1.04)}to{transform:translate3d(2px,-7px,0) rotate(-3deg) scale(1.08)}}.bot-state-celebration,.bot-state-success{animation:robotSuccessJump 1.5s cubic-bezier(.34,1.56,.64,1) 1!important}@keyframes robotSuccessJump{0%{transform:translateZ(0) scale(1)}30%{transform:translate3d(0,-18px,0) scale(1.18) rotate(5deg)}60%{transform:translate3d(0,-6px,0) scale(1.08) rotate(-4deg)}to{transform:translateZ(0) scale(1) rotate(0deg)}}.bot-state-easter_spin{animation:robotEasterSpin .55s cubic-bezier(.25,1,.5,1) 1!important}@keyframes robotEasterSpin{0%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.25) rotate(180deg)}to{transform:scale(1) rotate(1turn)}}.bot-state-easter_fly{animation:robotEasterFly .75s cubic-bezier(.34,1.56,.64,1) 1!important}@keyframes robotEasterFly{0%{transform:translateZ(0) scale(1)}40%{transform:translate3d(0,-32px,0) scale(1.28) rotate(-7deg)}70%{transform:translate3d(0,-14px,0) scale(1.12) rotate(4deg)}to{transform:translateZ(0) scale(1) rotate(0deg)}}.bot-state-easter_shake{animation:robotEasterShake .6s ease-in-out 1!important}@keyframes robotEasterShake{0%,to{transform:translateZ(0) rotate(0deg)}15%{transform:translate3d(-7px,0,0) rotate(-9deg)}30%{transform:translate3d(7px,0,0) rotate(9deg)}45%{transform:translate3d(-6px,0,0) rotate(-7deg)}60%{transform:translate3d(6px,0,0) rotate(7deg)}75%{transform:translate3d(-3px,0,0) rotate(-3deg)}}.robot-spark-container{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none;z-index:12}.robot-spark-particle{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle,#34d399 0,#10b981 100%);box-shadow:0 0 8px #34d399;animation:robotSparkFly .85s cubic-bezier(.25,1,.5,1) forwards}@keyframes robotSparkFly{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(var(--tx,20px),var(--ty,-30px),0) scale(.2)}}@media (prefers-reduced-motion:reduce){.bot-state-celebration,.bot-state-easter_fly,.bot-state-easter_shake,.bot-state-easter_spin,.bot-state-greeting,.bot-state-idle,.bot-state-success,.bot-state-thinking{animation:none!important;transform:none!important}.robot-spark-particle{display:none!important}}