*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--iuc-navy:#13263d;--iuc-navy-light:#1c3554;--iuc-navy-dark:#0c1a2c;--iuc-gold:#d5a940;--iuc-gold-light:#e4c168;--iuc-gold-dim:#d5a94026;--iuc-gray:#313a36;--iuc-gray-light:#3f4a45;--bg-primary:#0a1120;--bg-secondary:#0f1a2e;--bg-card:#0f1a2efa;--bg-card-hover:#16253efa;--bg-glass:#ffffff0d;--border:#ffffff14;--border-active:#d5a94080;--text-primary:#edf1f7;--text-secondary:#8b99b3;--text-tertiary:#556380;--accent:var(--iuc-gold);--accent-hover:var(--iuc-gold-light);--accent-glow:#d5a94033;--accent-gradient:linear-gradient(135deg, var(--iuc-gold), #c4912e);--navy-gradient:linear-gradient(135deg, var(--iuc-navy), var(--iuc-navy-dark));--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--danger-hover:#f87171;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px var(--accent-glow);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-primary:#f2f4f8;--bg-secondary:#fff;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--bg-glass:#fff9;--border:#13263d1a;--border-active:#d5a94073;--text-primary:#13263d;--text-secondary:#4a5a72;--text-tertiary:#8b99b3;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background var(--transition-normal), color var(--transition-normal);line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(600px 400px at 15% 10%,#13263d40,#0000),radial-gradient(500px 300px at 85% 85%,#d5a9400f,#0000);position:fixed;inset:0}.app-header{z-index:100;background:var(--iuc-navy);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-bottom:1px solid #d5a94026;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:.7rem 1.5rem;display:flex}.logo-area{align-items:center;gap:.75rem;display:flex}.logo-icon{flex-shrink:0}.main-title{letter-spacing:-.02em;color:var(--iuc-gold);font-size:1.2rem;font-weight:700}.subtitle{color:#ffffff80;font-size:.72rem;font-weight:400}.header-right{align-items:center;gap:.75rem;display:flex}.user-info{border-radius:var(--radius-sm);background:#ffffff12;border:1px solid #ffffff1a;align-items:center;gap:.5rem;padding:.3rem .7rem;display:flex}.user-avatar{background:var(--accent-gradient);width:28px;height:28px;color:var(--iuc-navy);border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:grid}.user-email{color:#ffffffb3;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.75rem;overflow:hidden}.icon-btn{border-radius:var(--radius-sm);color:#fff9;cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff1f;place-items:center;display:grid}.icon-btn:hover{border-color:var(--iuc-gold);color:var(--iuc-gold);background:var(--iuc-gold-dim)}.icon-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#ef44441a}.login-page{z-index:1;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(20px);background:#0f1a2e99;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2rem;box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff1a}.login-header{text-align:center;margin-bottom:2rem}.login-logo{border-radius:var(--radius-md);background:var(--navy-gradient);width:56px;height:56px;box-shadow:var(--shadow-md);place-items:center;margin:0 auto 1rem;display:grid}.login-title{color:var(--text-primary);margin-bottom:.3rem;font-size:1.4rem;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:.8rem}.auth-tabs{border-radius:var(--radius-sm);background:var(--bg-glass);border:1px solid var(--border);margin-bottom:1.5rem;padding:3px;display:flex}.auth-tab{color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;flex:1;padding:.5rem;font-size:.8rem;font-weight:500}.auth-tab.active{background:var(--accent-gradient);color:var(--iuc-navy);font-weight:600}.form-group{margin-bottom:1rem}.form-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.75rem;font-weight:500;display:block}.form-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-glass);width:100%;color:var(--text-primary);font-family:var(--font);transition:all var(--transition-fast);outline:none;padding:.65rem .85rem;font-size:.85rem}.form-input:focus{border-color:var(--iuc-gold);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::placeholder{color:var(--text-tertiary)}.auth-btn{border-radius:var(--radius-sm);background:var(--accent-gradient);width:100%;color:var(--iuc-navy);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);border:none;margin-top:.5rem;padding:.7rem;font-size:.85rem;font-weight:700}.auth-btn:hover{filter:brightness(1.1);box-shadow:var(--shadow-glow)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.divider{color:var(--text-tertiary);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.72rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.google-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-glass);width:100%;color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.65rem;font-size:.82rem;font-weight:500;display:flex}.google-btn:hover{border-color:var(--border-active);background:var(--bg-card-hover)}.google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{border-radius:var(--radius-sm);color:#f87171;background:#ef44441a;border:1px solid #ef44444d;margin-top:.75rem;padding:.5rem .75rem;font-size:.75rem}.auth-success{border-radius:var(--radius-sm);color:#4ade80;background:#22c55e1a;border:1px solid #22c55e4d;margin-top:.75rem;padding:.5rem .75rem;font-size:.75rem}.semester-tabs{scrollbar-width:none;z-index:1;gap:.5rem;max-width:1200px;margin:1.5rem auto 0;padding:0 1.5rem;display:flex;position:relative;overflow-x:auto}.semester-tabs::-webkit-scrollbar{display:none}.semester-tab{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-glass);color:var(--text-secondary);font-family:var(--font);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0;padding:.5rem 1rem;font-size:.8rem;font-weight:500}.semester-tab:hover{border-color:var(--border-active);color:var(--text-primary)}.semester-tab.active{background:var(--accent-gradient);color:var(--iuc-navy);box-shadow:var(--shadow-glow);border-color:#0000;font-weight:700}.app-main{z-index:1;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem 3rem;position:relative}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1.5rem 0 1rem;display:flex}.panel-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}.panel-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-group,.sort-group,.action-group{align-items:center;gap:.25rem;display:flex}.sort-select{cursor:pointer;appearance:auto;background:var(--bg-lighter);padding:.25rem .5rem}.chip-btn{border:1px solid var(--iuc-gold);background:var(--iuc-gold);color:var(--iuc-navy);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:.35rem .85rem;font-size:.75rem;font-weight:600}.chip-btn:hover{filter:brightness(1.1);box-shadow:var(--shadow-glow)}.chip-btn.outline{color:var(--iuc-gold);background:0 0}.chip-btn.outline:hover{background:var(--accent-glow)}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.course-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);transition:all var(--transition-normal);cursor:pointer;-webkit-user-select:none;user-select:none;opacity:0;flex-direction:column;gap:.6rem;padding:1rem 1.1rem;animation:.35s forwards card-in;display:flex;position:relative;transform:translateY(8px)}@keyframes card-in{to{opacity:1;transform:translateY(0)}}.course-card:hover{background:var(--bg-card-hover);border-color:var(--border-active);box-shadow:var(--shadow-md)}.course-card.selected{border-color:var(--iuc-gold);box-shadow:var(--shadow-glow), inset 0 0 0 1px #d5a9401a}.course-card.selected:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#d5a9400d,#13263d0d);position:absolute;inset:0}.card-top{align-items:flex-start;gap:.75rem;display:flex}.card-checkbox{flex-shrink:0;width:20px;height:20px;margin-top:2px;position:relative}.card-checkbox input{opacity:0;cursor:pointer;width:20px;height:20px;position:absolute}.checkmark{border:2px solid var(--text-tertiary);width:20px;height:20px;transition:all var(--transition-fast);border-radius:6px;place-items:center;display:grid}.card-checkbox input:checked+.checkmark{background:var(--accent-gradient);border-color:#0000}.checkmark-icon{opacity:0;transition:all var(--transition-fast);transform:scale(.5)}.card-checkbox input:checked+.checkmark .checkmark-icon{opacity:1;transform:scale(1)}.card-info{flex:1;min-width:0}.course-name{color:var(--text-primary);word-break:break-word;margin-bottom:.2rem;font-size:.85rem;font-weight:600;line-height:1.3}.course-code{color:var(--text-tertiary);font-size:.7rem;font-weight:400}.course-type-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.65rem;font-weight:600}.badge-zorunlu{color:var(--success);background:#22c55e1f}.badge-secmeli{background:var(--iuc-gold-dim);color:var(--iuc-gold)}.card-meta{flex-wrap:wrap;gap:.5rem;display:flex}.meta-chip{border-radius:var(--radius-sm);background:var(--bg-glass);border:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;display:flex}.meta-chip strong{color:var(--text-primary);font-weight:600}.grade-row{border-top:1px solid var(--border);align-items:center;gap:.75rem;padding-top:.4rem;display:flex}.grade-row label{color:var(--text-secondary);flex-shrink:0;font-size:.75rem;font-weight:500}.grade-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);outline:none;flex:1;padding:.4rem .6rem;font-size:.8rem;font-weight:600}.grade-select:focus{border-color:var(--iuc-gold);box-shadow:0 0 0 3px var(--accent-glow)}.grade-select option{background:var(--bg-secondary);color:var(--text-primary)}.gpa-section{z-index:50;margin-top:2rem;position:sticky;bottom:1rem}.gpa-cards-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px)saturate(1.5);box-shadow:var(--shadow-lg);transition:all var(--transition-normal);padding:1.25rem 1.5rem}.result-card.semester-card{border-color:#d5a94033}.result-card.cumulative-card{background:linear-gradient(135deg, #172c47fa, var(--bg-card));border-color:#13263d99}.result-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.result-icon{border-radius:var(--radius-sm);place-items:center;width:32px;height:32px;display:grid}.result-icon.gold{background:var(--accent-gradient);color:var(--iuc-navy)}.result-icon.navy{background:var(--navy-gradient);color:var(--iuc-gold)}.result-label{color:var(--text-secondary);font-size:.78rem;font-weight:500}.result-top{justify-content:space-between;align-items:baseline;margin-bottom:.6rem;display:flex}.result-value{letter-spacing:-.04em;transition:all var(--transition-slow);font-size:2.2rem;font-weight:800}.result-value.gold-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.result-value.navy-text{color:var(--iuc-gold)}.result-details{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;display:flex}.detail-item{flex-direction:column;gap:.1rem;display:flex}.detail-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.detail-value{color:var(--text-primary);font-size:1rem;font-weight:700}.gpa-bar-wrap{background:var(--bg-glass);border-radius:999px;width:100%;height:5px;margin-bottom:.4rem;overflow:hidden}.gpa-bar{background:var(--accent-gradient);width:0%;height:100%;transition:width var(--transition-slow);border-radius:999px}.gpa-bar.navy-bar{background:var(--navy-gradient)}.gpa-letter-label{color:var(--text-tertiary);text-align:right;min-height:1em;font-size:.72rem;font-weight:500}.app-footer{text-align:center;color:var(--text-tertiary);border-top:1px solid var(--border);z-index:1;padding:1.5rem;font-size:.72rem;position:relative}.spinner{border:3px solid var(--border);border-top-color:var(--iuc-gold);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.header-inner{flex-wrap:wrap;justify-content:center;gap:.8rem;padding:.8rem 1rem}.logo-area{justify-content:center;width:100%}.header-right{justify-content:center;gap:.75rem;width:100%}.main-title{font-size:1.1rem}.semester-tabs{box-sizing:border-box;-webkit-overflow-scrolling:touch;gap:.4rem;width:100%;max-width:100vw;margin-top:1rem;padding:0 1rem}.semester-tab{padding:.5rem .8rem;font-size:.75rem}.panel-actions{flex-direction:column;align-items:stretch;gap:.5rem;width:100%}.filter-group,.sort-group,.action-group{width:100%;display:flex}.filter-group .chip-btn,.action-group .chip-btn,.sort-select{text-align:center;flex:1;justify-content:center}.app-main{padding:0 1rem 2rem}.gpa-section{z-index:1;margin-top:2rem;position:relative;bottom:auto}.gpa-cards-row{grid-template-columns:1fr}.result-value{font-size:1.8rem}.result-card{padding:1rem 1.1rem}.user-email{display:none}.login-card{padding:2rem 1.5rem}}@media (width<=480px){.panel-header{flex-direction:column;align-items:flex-start}.courses-grid{grid-template-columns:1fr}}.landing-main{color:#fff;background-color:#060b14;flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}body.is-landing-page{background:#060b14}.mesh-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mesh-gradient{filter:blur(120px);opacity:.6;mix-blend-mode:screen;border-radius:50%;animation:20s ease-in-out infinite alternate mesh-float;position:absolute}.mesh-1{background:radial-gradient(circle,#d5a94026 0%,#d5a94000 70%);width:80vw;height:80vh;top:-20vh;left:-20vw}.mesh-2{background:radial-gradient(circle,#13263dcc 0%,#13263d00 70%);width:90vw;height:90vh;animation-delay:-5s;bottom:-30vh;right:-20vw}.mesh-3{background:radial-gradient(circle,#22c55e0d 0%,#22c55e00 70%);width:60vw;height:60vh;animation-delay:-10s;top:40vh;left:30vw}@keyframes mesh-float{0%{transform:translate(0)scale(1)}50%{transform:translate(5%,10%)scale(1.1)}to{transform:translate(-5%,-5%)scale(.9)}}.landing-container.centered{z-index:10;flex-direction:column;flex:1;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;padding:4rem 2rem;display:flex;position:relative}.landing-hero{text-align:center;flex-direction:column;align-items:center;animation:1s cubic-bezier(.16,1,.3,1) forwards fade-slide-up;display:flex}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.landing-logo-wrapper.centered-logo{flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.landing-logo-large{filter:drop-shadow(0 0 30px #d5a94080);width:120px;height:120px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);animation:6s ease-in-out infinite float-visual}.landing-logo-large:hover{transform:scale(1.1)rotate(2deg)}.motto-tag{color:var(--iuc-gold);background:#d5a9401a;border:1px solid #d5a9404d;border-radius:999px;padding:.4rem 1.2rem;font-family:Georgia,serif;font-size:1rem;font-style:italic;box-shadow:0 4px 12px #d5a9401a}.landing-title{letter-spacing:-.04em;color:#fff;text-shadow:0 10px 30px #00000080;margin-bottom:1.5rem;font-size:clamp(3rem,7vw,5.5rem);font-weight:900;line-height:1.05}.text-gradient{background:linear-gradient(135deg, #fff 0%, #facc15 50%, var(--iuc-gold) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #d5a9404d);-webkit-background-clip:text}.landing-subtitle{color:#cbd5e1;max-width:700px;margin-bottom:3rem;font-size:1.25rem;font-weight:400;line-height:1.6}.landing-actions.centered-actions{flex-direction:column;align-items:center;gap:1.2rem;margin-bottom:4rem;display:flex}.btn-hero-primary{background:linear-gradient(135deg, var(--iuc-gold) 0%, #b08425 100%);color:var(--iuc-navy-dark);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:.75rem;padding:1.2rem 3rem;font-size:1.2rem;font-weight:800;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 10px 25px -5px #d5a94080,inset 0 2px #ffffff4d}.btn-hero-primary svg{transition:transform .3s}.btn-hero-primary:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 20px 35px -10px #d5a94099,inset 0 2px #fff6}.btn-hero-primary:hover svg{transform:translate(4px)}.action-note{color:#94a3b8;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.landing-features-mini.centered-features{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.feat-item{color:#e2e8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:99px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;display:flex}.feat-item svg{width:20px;height:20px}.landing-visual.showcase-centered{perspective:1000px;justify-content:center;align-items:center;width:100%;max-width:900px;margin-top:-1rem;animation:1.2s cubic-bezier(.16,1,.3,1) forwards fade-slide-up;display:flex;position:relative}.glass-mockup.wide-mockup{-webkit-backdrop-filter:blur(24px);z-index:2;background:#0d162699;border:1px solid #ffffff14;border-top-color:#fff3;border-radius:24px;width:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:rotateX(8deg)translateY(0);box-shadow:0 30px 60px -12px #0009,0 0 80px #d5a9401a}.glass-mockup.wide-mockup:hover{transform:rotateX(0)translateY(-10px);box-shadow:0 40px 80px -15px #000000b3,0 0 100px #d5a94026}.mockup-header{background:#0000004d;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;display:flex}.mockup-dots{gap:8px;display:flex}.mockup-dots span{background:#334155;border-radius:50%;width:12px;height:12px}.mockup-dots span:first-child{background:#ef4444}.mockup-dots span:nth-child(2){background:#eab308}.mockup-dots span:nth-child(3){background:#22c55e}.mockup-title{color:#94a3b8;letter-spacing:.05em;font-size:.9rem;font-weight:600}.mockup-body.wide-body{align-items:center;gap:4rem;padding:3rem;display:flex}.mockup-score-wrap{text-align:center;flex:none}.mockup-score{color:var(--iuc-gold);text-shadow:0 0 30px #d5a94066;margin-bottom:1rem;font-size:5rem;font-weight:900;line-height:1}.mockup-label{color:#4ade80;letter-spacing:.05em;background:#22c55e26;border:1px solid #22c55e4d;border-radius:999px;padding:.4rem 1.2rem;font-size:.9rem;font-weight:700;display:inline-block}.mockup-list.horizontal-list{flex-direction:row;flex:1;gap:1.5rem;display:flex}.mockup-item{background:#ffffff05;border:1px solid #ffffff0a;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:1.5rem;transition:background .3s;display:flex}.mockup-item:hover{background:#ffffff0a}.mi-left{text-align:left;margin-bottom:.75rem}.mi-code{color:#64748b;letter-spacing:.05em;margin-bottom:.2rem;font-size:.75rem;font-weight:700}.mi-name{color:#e2e8f0;font-size:1.05rem;font-weight:600}.mi-grade{color:var(--iuc-gold);font-size:1.5rem;font-weight:800}.floating-badge{-webkit-backdrop-filter:blur(12px);color:#fff;z-index:3;background:#0d1626d9;border:1px solid #ffffff26;border-radius:99px;padding:.8rem 1.5rem;font-size:.9rem;font-weight:600;position:absolute;box-shadow:0 15px 35px -5px #0009}.floating-badge span{color:var(--iuc-gold);font-weight:800}.fb-1{animation:6s ease-in-out infinite alternate float-badge;top:-20px;right:-30px}@keyframes float-badge{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-20px)rotate(4deg)}}.landing-footer-modern{z-index:10;text-align:center;color:#64748b;padding:2rem;font-size:.9rem;position:relative}@media (width<=968px){.mockup-body.wide-body{flex-direction:column;gap:2rem}.mockup-list.horizontal-list{flex-direction:column;width:100%}.mockup-item{flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 1.5rem}.mi-left{margin-bottom:0}}@media (width<=768px){.landing-title{font-size:clamp(2.5rem,8vw,3.5rem)}.landing-subtitle{font-size:1.1rem}.fb-1{top:-40px;right:0}.landing-features-mini.centered-features{gap:1rem}}@media (width<=480px){.landing-title{font-size:2.2rem}.mockup-score{font-size:3.5rem}.btn-hero-primary{width:100%}}.program-switch-btn{font-family:var(--font);color:#ffffff80;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;padding:.1rem 0;font-size:.72rem;display:inline-flex}.program-switch-btn:hover{color:var(--iuc-gold)}.view-tabs{z-index:1;gap:.25rem;max-width:1200px;margin:1rem auto 0;padding:0 1.5rem;display:flex;position:relative}.view-tab{border:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--bg-glass);color:var(--text-secondary);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);border-bottom:none;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.82rem;font-weight:500;display:inline-flex}.view-tab:hover{color:var(--text-primary);background:var(--bg-card)}.view-tab.active{background:var(--bg-card);color:var(--iuc-gold);border-color:var(--border-active);border-bottom-color:var(--bg-card);font-weight:600}.program-picker-overlay{z-index:1000;-webkit-backdrop-filter:blur(12px);background:#0a1120eb;justify-content:center;align-items:center;padding:1rem;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.program-picker{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.picker-header{text-align:center;padding:2rem 2rem 1rem}.picker-title{color:var(--text-primary);margin-bottom:.3rem;font-size:1.4rem;font-weight:700}.picker-subtitle{color:var(--text-secondary);font-size:.8rem}.picker-search{margin:0 1.5rem .75rem;position:relative}.picker-search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.picker-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-glass);width:100%;color:var(--text-primary);font-family:var(--font);transition:border-color var(--transition-fast);outline:none;padding:.65rem .85rem .65rem 2.5rem;font-size:.85rem}.picker-search-input:focus{border-color:var(--iuc-gold);box-shadow:0 0 0 3px var(--accent-glow)}.picker-search-input::placeholder{color:var(--text-tertiary)}.picker-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:0 1rem 1.5rem;overflow-y:auto}.picker-item{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.85rem;font-weight:500;display:flex}.picker-item:hover{background:var(--bg-glass);border-color:var(--border)}.picker-item.active{background:var(--iuc-gold-dim);border-color:var(--iuc-gold);color:var(--iuc-gold)}.picker-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.picker-item-badge{background:var(--iuc-gold);color:var(--iuc-navy);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.picker-empty{text-align:center;color:var(--text-tertiary);padding:2rem;font-size:.85rem}.course-search-wrapper{flex:0 340px;min-width:0;position:relative}.course-search-input-wrap{align-items:center;display:flex;position:relative}.course-search-icon{color:#ffffff59;pointer-events:none;position:absolute;left:.65rem}.course-search-input{border-radius:var(--radius-sm);color:#fff;width:100%;font-family:var(--font);transition:all var(--transition-fast);background:#ffffff0f;border:1px solid #ffffff1a;outline:none;padding:.45rem 2rem .45rem 2.1rem;font-size:.78rem}.course-search-input:focus{border-color:var(--iuc-gold);box-shadow:0 0 0 3px var(--accent-glow);background:#ffffff1a}.course-search-input::placeholder{color:#ffffff4d}.course-search-clear{color:#fff9;cursor:pointer;width:22px;height:22px;transition:background var(--transition-fast);background:#ffffff26;border:none;border-radius:50%;place-items:center;font-size:1rem;line-height:1;display:grid;position:absolute;right:.4rem}.course-search-clear:hover{background:#ffffff40}.course-search-dropdown{z-index:200;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);max-height:360px;box-shadow:var(--shadow-lg);scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:.35rem;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.course-search-result{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.8rem;display:flex}.course-search-result:hover{background:var(--iuc-gold-dim)}.search-result-left{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.search-result-code{color:var(--iuc-gold);flex-shrink:0;font-family:Inter,monospace;font-size:.72rem;font-weight:700}.search-result-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;font-size:.78rem;overflow:hidden}.search-result-right{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.search-result-meta{color:var(--text-secondary);letter-spacing:.03em;font-family:Inter,monospace;font-size:.72rem;font-weight:600}.search-result-format{color:var(--text-tertiary);letter-spacing:.04em;font-size:.58rem}.course-search-empty{text-align:center;color:var(--text-tertiary);padding:1rem;font-size:.8rem}.course-moved{border-left:3px solid var(--warning)}.moved-badge{border-radius:var(--radius-sm);background:#f59e0b14;border:1px solid #f59e0b33;justify-content:space-between;align-items:center;padding:.25rem .55rem;display:flex}.moved-badge-text{color:var(--warning);font-size:.68rem;font-weight:500}.undo-move-btn{width:20px;height:20px;color:var(--warning);cursor:pointer;transition:background var(--transition-fast);background:#f59e0b26;border:none;border-radius:50%;place-items:center;font-size:.75rem;line-height:1;display:grid}.undo-move-btn:hover{background:#f59e0b4d}.transcript-view{padding-top:1.5rem}.transcript-header{margin-bottom:1.25rem}.transcript-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.15rem;font-weight:600;display:flex}.transcript-semesters{flex-direction:column;gap:1rem;display:flex}.transcript-semester{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);overflow:hidden}.transcript-semester:hover{border-color:var(--border-active)}.transcript-semester-empty{opacity:.5}.transcript-sem-header{background:var(--bg-glass);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 1.2rem;display:flex}.transcript-sem-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.transcript-sem-gpa{align-items:center;gap:.35rem;display:flex}.transcript-ago-label{color:var(--text-tertiary);font-size:.72rem;font-weight:500}.transcript-ago-value{font-size:.95rem;font-weight:700}.transcript-table-wrap{overflow-x:auto}.transcript-table{border-collapse:collapse;width:100%;font-size:.78rem}.transcript-table thead{background:var(--bg-glass)}.transcript-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .75rem;font-size:.7rem;font-weight:600}.transcript-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:.55rem .75rem}.transcript-table tbody tr:last-child td{border-bottom:none}.transcript-table tbody tr:hover{background:var(--bg-glass)}.transcript-no-grade td{opacity:.5}.tt-code{white-space:nowrap;font-family:Inter,monospace;font-size:.72rem;font-weight:600}.tt-name{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.tt-num{min-width:36px;font-weight:600;text-align:center!important}.tt-grade{font-weight:700;text-align:center!important}.tt-grade-badge{font-size:.82rem;font-weight:700}.tt-grade-empty{color:var(--text-tertiary)}.tt-moved{color:var(--warning);margin-left:.3rem;font-size:.7rem;display:inline-block}.transcript-sem-summary{background:var(--bg-glass);border-top:1px solid var(--border);color:var(--text-secondary);gap:1.5rem;padding:.6rem 1.2rem;font-size:.72rem;display:flex}.transcript-sem-summary strong{color:var(--text-primary)}.transcript-sem-placeholder{color:var(--text-tertiary);padding:1rem 1.2rem;font-size:.78rem;font-style:italic}.transcript-agno{margin-top:1.5rem}.agno-card{background:var(--bg-card);border:1px solid var(--iuc-gold);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-glow);padding:1.5rem 2rem}.agno-header{color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:flex}.agno-header svg{color:var(--iuc-gold)}.agno-value{letter-spacing:-.04em;margin-bottom:.3rem;font-size:3rem;font-weight:800}.agno-text{color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem}.agno-stats{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.agno-stat{flex-direction:column;gap:.15rem;display:flex}.agno-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.agno-stat-value{color:var(--text-primary);font-size:1.1rem;font-weight:700}.loading-text{color:var(--text-secondary);margin-top:1rem;font-size:.85rem;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.courses-empty{text-align:center;color:var(--text-tertiary);grid-column:1/-1;padding:3rem 1rem;font-size:.85rem}.loading-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}@media (width<=768px){.course-search-wrapper{width:100%;margin:.25rem 0}.view-tabs{margin-top:.75rem;padding:0 1rem}.transcript-table .tt-name{max-width:160px}.agno-value{font-size:2.2rem}.agno-stats{gap:1rem}.program-picker{border-radius:var(--radius-lg);max-height:90vh}.picker-header{padding:1.5rem 1.5rem .75rem}}@media (width>=769px) and (width<=1024px){.course-search-wrapper{flex:0 260px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.print-btn{background:var(--iuc-gold);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;box-shadow:0 4px 12px #d5a94033}.print-btn:hover{background:#c29938;transform:translateY(-1px);box-shadow:0 6px 16px #d5a9404d}.transcript-disclaimer{background:var(--bg-lighter);border-left:4px solid var(--iuc-gold);color:var(--text-secondary);border-radius:8px;margin-top:2rem;padding:1rem;font-size:.85rem;line-height:1.5}@media print{body{color:#000!important;background:#fff!important;margin:0!important;padding:0!important}.app-header,.mesh-bg,.bottom-nav,.panel-header,.courses-grid,.gpa-card,.print-btn,.transcript-moved,.program-switch-btn,.tt-moved{display:none!important}.app-layout{background:0 0!important;padding:0!important;display:block!important}.main-content{background:0 0!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.view-container{background:0 0!important;padding:0!important;display:block!important}.transcript-view{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.transcript-header{border-bottom:2px solid #000!important;margin-bottom:1rem!important;padding-bottom:.5rem!important}.transcript-title{color:#000!important;font-size:1.5rem!important}.transcript-subtitle{color:#333!important}.transcript-semesters{gap:0!important;display:block!important}.transcript-semester{page-break-inside:avoid;box-shadow:none!important;background:0 0!important;border:none!important;border-bottom:1px solid #ccc!important;margin-bottom:1.5rem!important;padding:0 0 1.5rem!important}.transcript-semester-empty{display:none!important}.transcript-table th,.transcript-table td{color:#000!important;border-bottom:1px solid #ddd!important;padding:.25rem .5rem!important}.transcript-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#f5f5f5!important}.transcript-sem-summary{color:#000!important;background:0 0!important;border:1px solid #ddd!important;margin-top:.5rem!important;padding:.5rem!important}.transcript-agno{page-break-inside:avoid;margin-top:2rem!important}.agno-card{box-shadow:none!important;color:#000!important;background:0 0!important;border:2px solid #000!important}.agno-header,.agno-text,.agno-stat-label,.agno-stat-value{color:#000!important}.tt-grade-badge{color:#000!important;background:0 0!important;border:none!important;font-weight:700!important}.transcript-ago-value{color:#000!important}a[href]:after{content:none!important}}
