@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap";:root{--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #4338ca;--secondary-500: #8b5cf6;--secondary-600: #7c3aed;--accent-500: #06b6d4;--accent-600: #0891b2;--bg-main: #000000;--bg-secondary: rgba(19, 24, 41, .6);--bg-card: rgba(0, 0, 0, .5);--bg-card-hover: rgba(30, 35, 52, .6);--bg-input: rgba(255, 255, 255, .05);--bg-input-focus: rgba(255, 255, 255, .07);--bg-overlay: rgba(0, 0, 0, .85);--text-primary: #ffffff;--text-secondary: #e2e8f0;--text-muted: #94a3b8;--text-inverse: #0a0e27;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%);--accent-gradient-hover: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #0891b2 100%);--accent-gradient-subtle: linear-gradient(135deg, rgba(99, 102, 241, .1) 0%, rgba(139, 92, 246, .1) 50%, rgba(6, 182, 212, .1) 100%);--success: #10b981;--success-bg: rgba(16, 185, 129, .15);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .15);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .15);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--shadow-glow: 0 0 25px rgba(99, 102, 241, .5), 0 0 50px rgba(139, 92, 246, .3);--shadow-glow-hover: 0 0 35px rgba(99, 102, 241, .7), 0 0 60px rgba(139, 92, 246, .4);--shadow-inner: none;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:transparent;min-height:100vh;color:var(--text-primary);overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff6}.container{max-width:1000px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg);position:relative;z-index:1}.mobile-bg{display:none;width:100%;height:100%;background-color:#000}.desktop-bg{display:block;width:100%;height:100%}@media(max-width:768px){.mobile-bg{display:block}.desktop-bg{display:none}}.layout-grid{display:flex;flex-direction:column;gap:var(--spacing-2xl);align-items:stretch}.layout-main{display:flex;flex-direction:column;gap:var(--spacing-xl);min-height:600px}.layout-side{position:relative}.detailed-mode,.quick-mode{min-height:180px}.quick-mode{display:flex;flex-direction:column;gap:var(--spacing-md)}.layout-main .card{width:100%;min-width:100%}.results-empty{margin-top:var(--spacing-lg);padding:var(--spacing-xl);border-radius:var(--radius-xl);background:#0006;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px dashed rgba(255,255,255,.3);text-align:left;box-shadow:0 4px 30px #0000004d}.results-empty-title{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:var(--spacing-sm);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.results-empty-text{font-size:.95rem;color:#fffc;line-height:1.6;text-shadow:0 1px 2px rgba(0,0,0,.5)}.header{text-align:center;margin-bottom:var(--spacing-3xl);position:relative;padding-top:var(--spacing-xl)}.header h1{font-family:Space Grotesk,sans-serif;font-size:4rem;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(99,102,241,.5);margin-bottom:var(--spacing-md);letter-spacing:-.03em;line-height:1.1}.header .subtitle{color:#ffffffe6;font-size:1.25rem;font-weight:500;margin-bottom:var(--spacing-xl);letter-spacing:.01em;max-width:600px;margin-left:auto;margin-right:auto;opacity:1}.reset-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem;font-weight:600;color:var(--danger);background:#ef444426;border:1px solid rgba(239,68,68,.5);border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.reset-btn:hover{background:#ef44441a;box-shadow:0 0 15px #ef44444d}.example-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem;font-weight:600;color:var(--info);background:#3b82f626;border:1px solid rgba(59,130,246,.5);border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.example-btn:hover{background:#3b82f61a;box-shadow:0 0 15px #3b82f64d}.card{background:#0006;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--spacing-2xl);margin-bottom:var(--spacing-xl);position:relative}.card:not(:last-child):after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.step-badge{display:none}.card-title{font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-sm);letter-spacing:-.01em;text-shadow:0 0 10px rgba(255,255,255,.3)}.tabs{display:flex;background:#ffffff0d;padding:4px;border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);border:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tab{flex:1;text-align:center;padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all .3s ease;border:none;background:transparent}.tab.active{background:#ffffff1a;color:#fff;box-shadow:0 0 15px #ffffff1a}.tab:hover:not(.active){color:var(--text-secondary);background:#ffffff0d}.input-group{margin-bottom:var(--spacing-lg)}.input-group label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;font-weight:700;color:#fff;margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.input-group input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.input-group input:hover{border-color:#6366f180;background:#ffffff0d}.input-group input:focus{outline:none;border-color:var(--accent-primary);background:#ffffff14;box-shadow:0 0 0 1px var(--accent-primary),0 0 15px #6366f133}.semester-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:#ffffff08;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);transition:all .3s ease;width:100%;box-sizing:border-box}.semester-row:hover{border-color:#6366f14d;background:#ffffff0a}.semester-row>div{flex:1;min-width:0}.semester-row input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--text-primary);transition:all .2s ease;box-sizing:border-box}.semester-row input:focus{outline:none;border-color:var(--accent-primary)}.btn-remove{width:44px;height:44px;min-width:44px;flex-shrink:0;background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-remove:hover{background:#ef444433;box-shadow:0 0 10px #ef444433}.btn-add{width:100%;padding:var(--spacing-md);background:transparent;border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius-md);color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#6366f10d;border-style:solid}.strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.radio-card{padding:var(--spacing-lg);background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:var(--text-muted)}.radio-card:hover{border-color:#6366f14d;background:#ffffff0d}.radio-card.active{background:#6366f126;border-color:var(--accent-primary);color:#fff;box-shadow:0 0 20px #6366f133}.radio-card input{display:none}.btn-calculate{width:100%;padding:var(--spacing-lg) var(--spacing-xl);background:var(--accent-gradient);border:none;border-radius:var(--radius-xl);color:#fff;font-size:1.125rem;font-weight:700;cursor:pointer;box-shadow:0 0 20px #6366f166;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;font-family:Space Grotesk,sans-serif;letter-spacing:.02em;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.btn-calculate:hover{transform:translateY(-2px);box-shadow:0 0 40px #6366f199}.btn-view-more{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;margin-top:var(--spacing-md)}.btn-view-more:hover{background:#6366f11a;border-color:#6366f14d;color:var(--text-primary)}.results-section{animation:fadeInUp .5s ease;margin-top:var(--spacing-2xl)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-header{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:#0006;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);padding:var(--spacing-xl);border-radius:var(--radius-lg);text-align:center;border:1px solid rgba(255,255,255,.1);transition:all .4s ease}.stat-card:hover{transform:translateY(-4px);background:#ffffff0d;border-color:#6366f14d;box-shadow:0 0 20px #6366f11a}.stat-card .label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-sm)}.stat-card .value{font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;color:var(--text-primary)}.stat-card.accent{background:#6366f11a;border-color:#6366f166;box-shadow:0 0 20px #6366f126}.stat-card.accent .value{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.feedback-box{padding:var(--spacing-xl);border-radius:var(--radius-xl);text-align:center;margin-bottom:var(--spacing-xl);background:#0006;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1);box-shadow:none}.feedback-box .required-label{font-size:.875rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.feedback-box .required-value{font-family:Space Grotesk,sans-serif;font-size:3rem;font-weight:700;color:var(--text-primary);margin:var(--spacing-md) 0}@media(max-width:640px){.header h1{font-size:2.5rem}.semester-row{display:grid!important;grid-template-columns:1fr 1fr 40px;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)}.semester-row>div{width:auto!important;flex:none!important}.semester-row input{width:100%}.semester-row [data-radix-tooltip-trigger]{display:none!important}.semester-row .btn-remove{width:36px;height:36px;min-width:36px;margin:0;padding:0;font-size:1.25rem;grid-column:3}.card{padding:var(--spacing-lg)}.card-title{font-size:1.5rem}.results-header{grid-template-columns:1fr;gap:var(--spacing-md)}.results-table-container{padding:var(--spacing-xs);margin:0 calc(-1 * var(--spacing-sm))}.results-table th,.results-table td{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.results-table th:first-child,.results-table td:first-child{padding-left:var(--spacing-md)}.table-title{padding:var(--spacing-sm) var(--spacing-md);font-size:.7rem}.change-col{text-align:right;padding-right:var(--spacing-md)!important}}@media(min-width:900px){.layout-grid{flex-direction:row;align-items:flex-start}.layout-main{flex:3;min-width:0;width:100%}.layout-side{flex:2;position:sticky;top:120px;min-width:0}}.progress-ring-wrapper{display:flex;justify-content:center;align-items:center;margin:var(--spacing-2xl) 0;position:relative}.progress-ring-container{position:relative;display:flex;align-items:center;justify-content:center}.progress-ring-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;z-index:10}.progress-ring-value{font-family:Space Grotesk,sans-serif;font-size:2.5rem;font-weight:700;color:#fff;line-height:1;margin-bottom:4px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.progress-ring-label{font-size:.75rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.5)}.results-table-container{background:#0006;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-radius:var(--radius-xl);overflow:visible;border:1px solid rgba(255,255,255,.1);margin-top:var(--spacing-xl);padding:var(--spacing-md);width:100%;box-sizing:border-box}.table-title{padding:var(--spacing-md) var(--spacing-lg);font-size:.85rem;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff05}.results-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.results-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);font-size:.75rem;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.05)}.results-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.05);font-size:.95rem;color:#ffffffe6}.results-table tr:last-child td{border-bottom:none}.modal-overlay{background-color:#000000b3;position:fixed;inset:0;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:0 10px 30px #00000080;position:fixed;top:50%;left:50%;width:90vw;max-width:450px;height:fit-content;max-height:85vh;padding:var(--spacing-xl);z-index:1001;text-align:center}.modal-title{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:var(--spacing-md)}.modal-description{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin-bottom:var(--spacing-xl)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.modal-btn{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-full);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;flex:1}.modal-btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary)}.modal-btn-secondary:hover{background:#ffffff0d;border-color:#ffffff80}.modal-btn-primary{background:var(--danger);border:none;color:#fff}.modal-btn-primary:hover{background:#dc2626;box-shadow:0 0 15px #ef444466}.modal-close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#ffffff1a;color:#fff}.results-table td.positive{color:#4ade80;font-weight:600}.results-table td.negative{color:#f87171;font-weight:600}.results-table td.neutral{color:var(--text-muted)}@media(max-width:640px){.results-header{grid-template-columns:1fr;gap:var(--spacing-md)}.stat-card{padding:var(--spacing-lg)}.stat-card .value{font-size:1.75rem}}.floating-lines-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:-1;overflow:hidden;background-color:#000}.galaxy-container{width:100%;height:100%;position:relative}.container{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.celebrate{position:fixed;inset:0;pointer-events:none;z-index:1000}
