@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;min-height:100vh}#root{width:100%;min-height:100vh}.student-form{background:var(--neutral-50, #f8fafc);padding:2.5rem;border-radius:24px;border:1px solid var(--neutral-200, #e2e8f0);box-shadow:var(--shadow-md);margin-bottom:2rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:formSlideIn .6s ease-out}@keyframes formSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.student-form:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary, #1a5f9e)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.75rem;margin-bottom:2rem}.form-group{position:relative;display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--neutral-700, #334155);font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;margin-bottom:.25rem;transition:color .3s ease}.form-group:focus-within label{color:var(--primary, #1a5f9e)}.form-group input,.form-group select{padding:1rem 1.25rem;border:2px solid var(--neutral-200, #e2e8f0);border-radius:12px;font-size:1rem;font-weight:500;color:var(--neutral-800, #1e293b);background:#fff;transition:all .3s ease;outline:none}.form-group input::placeholder{color:var(--neutral-700, #334155);opacity:.8;font-weight:400}.form-group input[type=number]{appearance:textfield;-moz-appearance:textfield;min-height:3.25rem}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem}.form-group input:focus,.form-group select:focus{border-color:var(--primary, #1a5f9e);box-shadow:0 0 0 4px #1a5f9e1a}.form-group input:hover:not(:focus):not(:disabled),.form-group select:hover:not(:focus):not(:disabled){border-color:var(--neutral-300, #cbd5e1)}.form-group input:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.error-text{color:#ef4444;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:.25rem;animation:errorShake .4s ease}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.submit-btn{width:100%;padding:1.15rem 2rem;background:var(--primary, #1a5f9e);color:#fff;border:none;border-radius:14px;font-size:1.1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 15px #1a5f9e40}.submit-btn:hover:not(:disabled){background:var(--primary-dark, #144a7a);transform:translateY(-3px);box-shadow:0 8px 25px #1a5f9e59}.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.submit-btn:hover:before{left:100%}.submit-btn:active:not(:disabled){transform:translateY(-1px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-btn:disabled{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.8}}@media(max-width:768px){.student-form{padding:1.75rem 1.25rem;border-radius:20px}.form-grid{gap:1.25rem}.form-group input,.form-group select{padding:.9rem 1rem}.submit-btn{padding:1rem 1.5rem;font-size:1rem}}.results-container{background:#fff;border-radius:24px;border:1px solid var(--neutral-200, #e2e8f0);overflow:hidden;box-shadow:var(--shadow-md);animation:resultsSlideIn .6s ease-out}@keyframes resultsSlideIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.results-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--primary, #1a5f9e);gap:1rem;flex-wrap:wrap}.results-title{margin:0;color:#fff;font-size:1.3rem;font-weight:700;display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em;flex:1;min-width:0}.header-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.history-btn{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;background:#fff;color:var(--primary, #1a5f9e);border:2px solid white;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 15px #00000026}.history-btn:hover{background:#ffffffe6;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.history-btn:active{transform:translateY(0)}.history-icon{font-size:1.2rem;display:inline-flex;align-items:center}.download-btn{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;background:#fff;color:var(--primary, #1a5f9e);border:2px solid white;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 15px #00000026}.download-btn:hover{background:var(--primary-dark, #144a7a);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.download-btn:active{transform:translateY(0)}.download-icon{font-size:1.2rem;display:inline-flex;align-items:center}.results-cards{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;max-height:600px;overflow-y:auto;background:var(--neutral-50, #f8fafc)}.results-cards::-webkit-scrollbar{width:6px}.results-cards::-webkit-scrollbar-track{background:var(--neutral-100, #f1f5f9);border-radius:3px}.results-cards::-webkit-scrollbar-thumb{background:var(--neutral-300, #cbd5e1);border-radius:3px}.results-cards::-webkit-scrollbar-thumb:hover{background:var(--neutral-400, #94a3b8)}.college-card{background:#fff;border:1px solid var(--neutral-200, #e2e8f0);border-radius:16px;padding:1.25rem 1.5rem 1.25rem 1.75rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;transition:all .3s ease;cursor:default;animation:cardSlideIn .5s ease-out backwards;animation-delay:calc(var(--card-index) * .08s);position:relative;overflow:visible;min-height:80px;flex-shrink:0}@keyframes cardSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.college-card:hover{border-color:var(--primary, #1a5f9e);transform:translate(8px);box-shadow:0 8px 25px #00000014}.rank-badge{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary, #1a5f9e);color:#fff;border-radius:14px;font-weight:800;font-size:1.1rem;box-shadow:0 4px 15px #1a5f9e40;flex-shrink:0}.college-info{display:flex;flex-direction:column;gap:.35rem;min-width:0}.college-name{font-weight:700;color:var(--neutral-800, #1e293b);font-size:1.05rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.college-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--neutral-500, #64748b)}.college-meta span{display:flex;align-items:center;gap:.3rem}.college-id{font-family:Courier New,monospace;font-size:.75rem;color:var(--neutral-500, #64748b);background:var(--neutral-100, #f1f5f9);padding:.15rem .5rem;border-radius:4px}.college-stats{display:flex;align-items:center;gap:1rem;flex-shrink:0}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:70px}.stat-label{font-size:.7rem;color:var(--neutral-400, #94a3b8);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;white-space:nowrap}.stat-value{font-weight:700;font-size:1rem;font-family:Courier New,monospace}.stat-value.cutoff{color:var(--neutral-700, #334155)}.stat-value.gap-positive{color:var(--accent-green, #3dae55)}.stat-value.gap-negative{color:#ef4444}.chance-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:24px;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.chance-high{background:#3dae551f;color:var(--accent-green, #3dae55);border:1px solid rgba(61,174,85,.25)}.chance-medium{background:#f5a6231f;color:#d97706;border:1px solid rgba(245,166,35,.25)}.chance-low{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.25)}.results-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:1rem 2rem;background:#fff;border-top:1px solid var(--neutral-200, #e2e8f0);font-size:.8rem;color:var(--neutral-600, #475569)}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.high{background:var(--accent-green, #3dae55)}.legend-dot.medium{background:var(--accent-orange, #f5a623)}.legend-dot.low{background:#ef4444}.no-results{padding:4rem 2rem;text-align:center;background:#fff;border-radius:24px;border:1px solid var(--neutral-200, #e2e8f0);box-shadow:var(--shadow-md)}.no-results-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.no-results p{color:var(--neutral-500, #64748b);font-size:1.1rem;max-width:400px;margin:0 auto}@media(max-width:900px){.college-card{grid-template-columns:1fr;gap:1rem;text-align:center;padding-left:1.75rem}.college-card:before{top:0;bottom:0;left:0;width:4px}.rank-badge{width:40px;height:40px;font-size:.95rem;border-radius:10px;margin:0 auto}.college-info{align-items:center}.college-name{white-space:normal;text-align:center}.college-meta{justify-content:center}.college-stats{justify-content:center;flex-wrap:wrap}.college-card:hover{transform:translateY(-4px)}}@media(max-width:600px){.results-container{border-radius:20px}.results-header{padding:1.25rem 1.5rem;flex-direction:column;align-items:stretch}.results-title{font-size:1.1rem;justify-content:center}.download-btn{width:100%;justify-content:center;padding:.8rem 1rem;font-size:.9rem}.results-cards{padding:1rem;gap:.75rem}.college-card{padding:1rem 1rem 1rem 1.5rem;border-radius:14px}.college-stats{gap:.5rem}.stat-item{min-width:60px}.chance-badge{padding:.4rem .8rem;font-size:.75rem}.results-legend{flex-direction:column;align-items:center;gap:.5rem}}.table-wrapper,.results-table{display:none}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1.5rem;animation:fadeIn .3s ease-out}.loader-spinner{width:56px;height:56px;position:relative}.loader-spinner:before,.loader-spinner:after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid transparent}.loader-spinner:before{border-top-color:var(--primary, #1a5f9e);border-right-color:var(--primary-light, #2a7ab8);animation:spin 1s linear infinite}.loader-spinner:after{inset:6px;border-bottom-color:var(--accent-green, #3dae55);border-left-color:var(--accent-orange, #f5a623);animation:spin 1.5s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.loader-text{color:var(--neutral-600, #475569);font-size:.95rem;font-weight:500;letter-spacing:.02em;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loader-dots{display:inline-flex;gap:4px;margin-left:4px}.loader-dots span{width:6px;height:6px;background:var(--accent-green, #3dae55);border-radius:50%;animation:dotBounce 1.4s ease-in-out infinite}.loader-dots span:nth-child(1){animation-delay:0s}.loader-dots span:nth-child(2){animation-delay:.2s}.loader-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a7ab8,#1a5f9e);padding:20px;position:relative;overflow:hidden}.auth-container:before,.auth-container:after{content:"";position:absolute;border-radius:50%;opacity:.1;z-index:0;pointer-events:none}.auth-container:before{width:400px;height:400px;background:#fff;top:-100px;right:-100px;animation:floatShape1 20s ease-in-out infinite}.auth-container:after{width:300px;height:300px;background:#fff;bottom:50px;left:-80px;animation:floatShape2 25s ease-in-out infinite}.auth-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #1a5f9e4d;padding:0;width:100%;max-width:860px;animation:slideIn .3s ease-out;position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-form-side{padding:40px;order:2}.auth-header{text-align:left;margin-bottom:28px}.auth-brand-side{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:42px 28px 42px 36px;background:#154a7a;color:#fff;position:relative;order:1;border-right:1px solid rgba(15,23,42,.35)}.auth-brand-side:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#ffffff29,#fff0 72%);top:-70px;right:-60px}.auth-brand-side:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#ffffff1f,#fff0 72%);bottom:-45px;left:-35px}.auth-brand-badge{width:98px;height:98px;border-radius:20px;background:#fffffff2;border:1px solid rgba(255,255,255,.7);box-shadow:0 14px 35px #09243f40;display:flex;align-items:center;justify-content:center;margin-bottom:8px;position:relative;z-index:1;animation:brandReveal .5s ease-out}.auth-logo{width:82px;height:82px;object-fit:contain}.auth-brand-name{color:#fff;font-size:2rem;font-weight:800;letter-spacing:.01em;line-height:1;position:relative;z-index:1}.auth-brand-tagline{margin:0;color:#ffffffeb;font-size:1.02rem;line-height:1.5;max-width:240px;position:relative;z-index:1}.auth-brand-helper{margin:4px 0 0;color:#ffffffbd;font-size:.9rem;line-height:1.4;max-width:220px;position:relative;z-index:1}@keyframes brandReveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.auth-header h1{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.auth-header p{color:#666;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#333}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;transition:all .3s ease;outline:none}.form-group input:focus{border-color:#1a5f9e;box-shadow:0 0 0 3px #1a5f9e1a}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:45px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .3s ease;outline:none}.password-toggle:hover{color:#1a5f9e}.password-toggle:active{transform:scale(.95)}.password-toggle svg{display:block}.error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:10px;font-size:14px;border-left:4px solid #c33}.success-message{background:#efe;color:#3c3;padding:12px 16px;border-radius:10px;font-size:14px;border-left:4px solid #3c3}.auth-button{padding:14px 24px;background:linear-gradient(135deg,#2a7ab8,#1a5f9e);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1a5f9e66}.auth-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1a5f9e80}.auth-button:active{transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.divider{display:flex;align-items:center;gap:16px;margin:10px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.divider span{color:#999;font-size:14px}.google-button{padding:12px 24px;background:#fff;color:#333;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.google-button:hover{border-color:#1a5f9e;background:#f0f7ff}.auth-footer{text-align:left;margin-top:20px;font-size:14px;color:#666;position:relative;z-index:2}.auth-footer-text{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;position:relative;z-index:2}.auth-switch-button{color:#1a5f9e;font-weight:600;cursor:pointer;background:none;border:none;padding:.2rem .3rem;font:inherit;line-height:inherit;display:inline-flex;align-items:center;justify-content:center;min-height:32px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;position:relative;z-index:3}.auth-switch-button:hover{text-decoration:underline}.auth-switch-button:focus-visible{outline:2px solid rgba(26,95,158,.35);outline-offset:3px;border-radius:4px}@media(max-width:520px){.auth-card{grid-template-columns:1fr;max-width:460px}.auth-card{border-radius:18px}.auth-form-side{order:2;padding:28px 22px}.auth-brand-side{order:1;align-items:center;text-align:center;padding:24px 20px 28px;gap:8px}.auth-brand-badge{width:78px;height:78px;border-radius:16px;margin-bottom:4px}.auth-logo{width:64px;height:64px}.auth-brand-name{font-size:1.45rem}.auth-brand-tagline,.auth-brand-helper{max-width:100%}.auth-brand-tagline{font-size:.9rem}.auth-brand-helper{font-size:.82rem}.auth-header h1{font-size:24px}.auth-footer{text-align:center}.auth-footer-text{justify-content:center}.auth-switch-button{padding:.35rem .4rem;min-height:40px}}.history-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem}.history-header{background:var(--primary, #1a5f9e);border-radius:16px;padding:1.5rem 2rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #1a5f9e26;flex-wrap:wrap;gap:1rem}.history-title-section{flex:1}.history-title{margin:0;color:#fff;font-size:1.75rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.history-subtitle{margin:.25rem 0 0;color:#ffffffd9;font-size:.9rem}.back-home-btn{background:#fff;color:var(--primary, #1a5f9e);border:none;padding:.7rem 1.5rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00000026}.back-home-btn:hover{background:var(--primary-dark, #144a7a);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.history-content{max-width:1000px;margin:0 auto}.error-box{background:#fff;border:2px solid #ef4444;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;color:#dc2626;box-shadow:0 4px 15px #ef44441a}.error-icon{font-size:2rem}.empty-state{background:#fff;border-radius:24px;padding:4rem 2rem;text-align:center;box-shadow:0 4px 20px #00000014}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-state h2{color:var(--neutral-800, #1e293b);margin:0 0 .5rem;font-size:1.5rem}.empty-state p{color:var(--neutral-500, #64748b);margin:0 0 1.5rem}.cta-button{background:var(--primary, #1a5f9e);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease}.cta-button:hover{background:var(--primary-dark, #144a7a);transform:translateY(-2px);box-shadow:0 6px 20px #1a5f9e40}.history-list{display:flex;flex-direction:column;gap:1.5rem}.history-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease;border:1px solid var(--neutral-200, #e2e8f0)}.history-card:hover{border-color:var(--primary, #1a5f9e);box-shadow:0 8px 25px #0000001f}.history-card-header{margin-bottom:1rem}.history-date{color:var(--neutral-600, #475569);font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.history-card-body{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.history-details{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:.9rem;color:var(--neutral-700, #334155);flex:1}.detail-item strong{color:var(--neutral-800, #1e293b)}.detail-separator{color:var(--neutral-300, #cbd5e1)}.history-results-count{background:var(--primary, #1a5f9e);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;white-space:nowrap}.expand-btn{background:transparent;border:2px solid var(--primary, #1a5f9e);color:var(--primary, #1a5f9e);padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.expand-btn:hover{background:var(--primary, #1a5f9e);color:#fff}.expanded-results{margin-top:1.5rem;padding:1.5rem;border-top:2px solid var(--primary, #1a5f9e);background:var(--neutral-50, #f8fafc);border-radius:8px;animation:fadeIn .3s ease-out}.expanded-results-title{margin:0 0 1rem;color:var(--primary, #1a5f9e);font-size:1.1rem;font-weight:700}.history-results-table-wrapper{overflow-x:auto;border-radius:12px;background:#fff;border:1px solid var(--neutral-200, #e2e8f0);-webkit-overflow-scrolling:touch}.history-results-mobile-list{display:none}.history-results-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff}.history-results-table thead{background:var(--neutral-100, #f1f5f9)}.history-results-table th,.history-results-table td{padding:.85rem .9rem;text-align:left;border-bottom:1px solid var(--neutral-100, #f1f5f9);vertical-align:top}.history-results-table th{font-weight:700;color:var(--neutral-700, #334155);border-bottom:2px solid var(--neutral-200, #e2e8f0);white-space:nowrap}.history-rank-cell{width:72px;white-space:nowrap}.history-college-name-cell{min-width:260px;color:var(--neutral-800, #1e293b);font-weight:500;line-height:1.5;word-break:break-word}.history-city-cell{min-width:120px;white-space:nowrap}.history-cutoff-cell{min-width:100px;white-space:nowrap}.history-chance-cell{min-width:120px;white-space:nowrap}.history-result-mobile-card{background:#fff;border:1px solid var(--neutral-200, #e2e8f0);border-radius:14px;padding:1rem;box-shadow:0 4px 14px #0f172a0d}.history-result-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.history-result-rank{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:.35rem .7rem;border-radius:999px;background:#1a5f9e1a;color:var(--primary, #1a5f9e);font-weight:700}.history-result-college-name{margin:0 0 .9rem;color:var(--neutral-800, #1e293b);font-size:1rem;line-height:1.45}.history-result-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.history-result-mobile-item{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .8rem;background:var(--neutral-50, #f8fafc);border-radius:10px}.history-result-mobile-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--neutral-500, #64748b)}.history-result-mobile-value{color:var(--neutral-800, #1e293b);font-weight:600;line-height:1.4;word-break:break-word}.results-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:auto;overflow:visible}.results-table thead{background:var(--neutral-100, #f1f5f9)}.results-table th{padding:.75rem;text-align:left;color:var(--neutral-700, #334155);font-weight:700;border-bottom:2px solid var(--neutral-200, #e2e8f0);white-space:nowrap}.results-table td{padding:.75rem;border-bottom:1px solid var(--neutral-100, #f1f5f9);color:var(--neutral-700, #334155);vertical-align:middle}.results-table tbody tr{min-height:3rem}.results-table tbody tr:hover{background:var(--neutral-50, #f8fafc)}.chance-badge-small{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-weight:700;font-size:.75rem;text-transform:uppercase}.chance-badge-small.chance-high{background:#3dae551f;color:var(--accent-green, #3dae55);border:1px solid rgba(61,174,85,.25)}.chance-badge-small.chance-medium{background:#f5a6231f;color:#d97706;border:1px solid rgba(245,166,35,.25)}.chance-badge-small.chance-low{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.25)}@media(max-width:768px){.history-page{padding:1rem}.history-header{flex-direction:column;align-items:stretch}.back-home-btn{width:100%}.history-title{font-size:1.4rem}.history-details{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-separator{display:none}.results-table{font-size:.8rem}.results-table th,.results-table td{padding:.5rem .25rem}.expanded-results{padding:1rem}.expanded-results-title{font-size:1rem}.history-results-table-wrapper{display:none}.history-results-mobile-list{display:flex;flex-direction:column;gap:.85rem}.history-result-mobile-grid{grid-template-columns:1fr}}:root{--primary-light: #2a7ab8;--primary: #1a5f9e;--primary-dark: #144a7a;--accent-green: #3dae55;--accent-green-light: #4fc466;--accent-orange: #f5a623;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 8px 30px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 50px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--neutral-800);line-height:1.6;min-height:100vh;overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh;position:relative;background:#fff}.app:before,.app:after{content:"";position:fixed;border-radius:50%;opacity:.08;z-index:0;pointer-events:none}.app:before{width:400px;height:400px;background:var(--primary);top:-100px;right:-100px;animation:floatShape1 20s ease-in-out infinite}.app:after{width:300px;height:300px;background:var(--accent-green);bottom:50px;left:-80px;animation:floatShape2 25s ease-in-out infinite}@keyframes floatShape1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-20px,30px) scale(1.05)}50%{transform:translate(-40px,10px) scale(1)}75%{transform:translate(-20px,-20px) scale(.95)}}@keyframes floatShape2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.08)}66%{transform:translate(15px,20px) scale(.95)}}.app-header{width:100%;background:var(--primary);padding:1.25rem 2rem;position:relative;z-index:10;box-shadow:0 4px 20px #1a5f9e26;display:flex;justify-content:space-between;align-items:center}.header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.user-chip,.header-action-button{padding:.5rem 1.25rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;font-size:.9rem;font-weight:600;min-height:42px}.user-chip{display:inline-flex;align-items:center;gap:.55rem;max-width:280px}.header-action-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.header-action-button:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.user-email{color:#fffffff2;font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{background:#ffffff1f}.logout-button:hover{background:#ffffff40;border-color:#ffffff80}.header-icon{width:1rem;height:1rem;flex-shrink:0}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1rem}.app-title{font-size:2rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}.title-logo{width:44px;height:44px;object-fit:contain;background:#fff;padding:4px;border-radius:10px;box-shadow:0 2px 10px #00000026}.app-subtitle{color:#ffffffd9;font-size:1rem;font-weight:500;padding-left:1rem;border-left:2px solid rgba(255,255,255,.3)}.app-main{flex:1;padding:2.5rem 1.5rem;position:relative;z-index:1}.container{max-width:1200px;margin:0 auto;width:100%}.hero-section{text-align:center;margin-bottom:2.5rem}.hero-title{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:1rem;color:var(--neutral-800)}.hero-description{font-size:1.1rem;color:var(--neutral-500);max-width:550px;margin:0 auto;line-height:1.7}.error-container{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2rem;background:#fef2f2;border:1px solid #fecaca;border-radius:16px;margin-bottom:2rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.error-icon{font-size:1.5rem}.error-message{color:#dc2626;font-weight:500}.app-footer{width:100%;background:var(--neutral-800);color:var(--neutral-400);text-align:center;padding:1.5rem 2rem;margin-top:auto;position:relative;z-index:10}.app-footer p{margin-bottom:.25rem}.app-footer p:first-child{color:#ffffffe6;font-weight:600;font-size:.95rem}.footer-note{font-size:.8rem;color:var(--neutral-500)}@media(max-width:768px){.app-header{padding:1rem;flex-direction:column;align-items:stretch;gap:.9rem}.header-content{flex-direction:column;text-align:center;gap:.25rem}.app-title{font-size:1.5rem}.app-subtitle{border-left:none;padding-left:0;font-size:.9rem}.header-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%}.user-chip{grid-column:1 / -1;max-width:none;width:100%;justify-content:center}.header-action-button{width:100%;padding:.7rem 1rem}.hero-title{font-size:1.75rem}.hero-description{font-size:.95rem}.app-main{padding:1.5rem 1rem}.app:before{width:250px;height:250px}.app:after{width:200px;height:200px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.results-container{animation:fadeInUp .5s ease-out}
