:root{--navy: #0A2540;--navy-mid: #163356;--blue: #2563EB;--blue-hover: #1D4ED8;--blue-light: #EFF6FF;--blue-mid: #BFDBFE;--green: #0B6B44;--green-hover: #095936;--green-light: #D1FAE5;--green-text: #064E32;--amber: #92400E;--amber-light: #FEF3C7;--amber-text: #78350F;--gray-badge: #F1F5F9;--gray-text: #475569;--red: #DC2626;--red-hover: #B91C1C;--red-light: #FEF2F2;--red-text: #991B1B;--red-border: #FECACA;--bg: #F7F6F3;--surface: #FFFFFF;--border: #E2E8F0;--border-strong: #CBD5E1;--text-primary: #0A2540;--text-secondary:#475569;--text-muted: #94A3B8;--font-display: "Lora", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(10,37,64,.06), 0 1px 2px rgba(10,37,64,.04);--shadow: 0 4px 12px rgba(10,37,64,.08), 0 1px 3px rgba(10,37,64,.04);--shadow-lg: 0 16px 48px rgba(10,37,64,.14), 0 4px 12px rgba(10,37,64,.06)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-body);font-size:16px;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;min-height:100%;background:var(--bg)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);flex-shrink:0;position:sticky;top:0;z-index:50}.app-header h1{margin:0;font-family:var(--font-display);font-size:1.375rem;font-weight:600;font-style:italic;color:var(--navy);letter-spacing:-.01em}.new-session-btn{padding:7px 16px;font-family:var(--font-body);font-size:.875rem;font-weight:500;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.new-session-btn:hover:not(:disabled){background:var(--bg);border-color:var(--navy);color:var(--navy)}.new-session-btn:disabled{opacity:.45;cursor:not-allowed}.app-main{flex:1;padding:32px 24px 64px;max-width:760px;margin:0 auto;width:100%}.searching-overlay{text-align:center;padding:48px 24px;margin-bottom:32px;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow)}.searching-spinner{width:44px;height:44px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;margin:0 auto 20px;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.searching-text{margin:0 0 8px;font-size:1.0625rem;font-weight:600;color:var(--text-primary)}.searching-note{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.5}.error-banner{padding:14px 18px;margin-bottom:24px;background:var(--red-light);border:1px solid var(--red-border);border-left:4px solid var(--red);border-radius:var(--radius);color:var(--red-text);font-size:.9375rem;line-height:1.5}.intake-form{display:flex;flex-direction:column;gap:40px}.form-section{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:28px 28px 32px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-sm)}.form-section h2{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--navy);padding-bottom:16px;border-bottom:1px solid var(--border)}.section-note{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.6;background:var(--bg);border-radius:var(--radius);padding:12px 14px;border:1px solid var(--border)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.field .req{color:var(--red);font-weight:700}.field input[type=text],.field input[type=number],.field select,.field textarea{padding:10px 13px;border:1.5px solid var(--border-strong);border-radius:var(--radius);font-size:.9375rem;font-family:var(--font-body);color:var(--text-primary);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394A3B8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--bg);cursor:not-allowed;opacity:.6}.field textarea{resize:vertical;min-height:90px;line-height:1.6}.field-error{font-size:.8125rem;color:var(--red);font-weight:500}.char-count{font-size:.75rem;color:var(--text-muted);text-align:right;margin-top:2px}.char-count.char-count-over{color:var(--red);font-weight:600}.checkbox-field{justify-content:flex-end;padding-bottom:2px}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;color:var(--text-secondary);cursor:pointer;line-height:1.4;transition:color .1s}.checkbox-label:hover{color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:17px;height:17px;margin-top:1px;flex-shrink:0;cursor:pointer;accent-color:var(--blue);border-radius:4px}.checkbox-label input:disabled{cursor:not-allowed;opacity:.7}.form-footer{padding-top:4px}.submit-btn{display:block;width:100%;padding:15px 28px;background:var(--navy);color:var(--surface);border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;letter-spacing:.01em;box-shadow:0 4px 14px #0a25404d}.submit-btn:hover:not(:disabled){background:var(--navy-mid);box-shadow:0 6px 20px #0a254059;transform:translateY(-1px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.gated-banner{padding:24px 28px;background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:var(--radius-lg);color:var(--navy);font-size:.9375rem;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-sm)}.gated-banner p{margin:0;line-height:1.6}.unlock-btn{align-self:flex-start;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-full);padding:11px 24px;font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 4px 14px #0a25404d}.unlock-btn:hover{background:var(--navy-mid);box-shadow:0 6px 18px #0a254059;transform:translateY(-1px)}.unlock-email-form{display:flex;flex-direction:column;gap:10px}.unlock-email-input{padding:9px 13px;border:1.5px solid var(--blue-mid);border-radius:var(--radius);font-size:.9375rem;font-family:var(--font-body);max-width:320px;background:var(--surface);color:var(--text-primary);outline:none;transition:border-color .15s,box-shadow .15s}.unlock-email-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.unlock-email-actions{display:flex;gap:10px;align-items:center}.unlock-cancel-btn{background:none;border:none;color:var(--text-muted);font-size:.875rem;font-family:var(--font-body);cursor:pointer;padding:4px;transition:color .1s}.unlock-cancel-btn:hover{color:var(--text-primary)}.gated-error{color:var(--red-text);margin:0;font-weight:500}.gated-config-note{font-size:.875rem;color:var(--text-muted);margin:0}.stripe-checkout-container{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.gated-placeholder{filter:blur(7px);-webkit-user-select:none;user-select:none;pointer-events:none;color:var(--text-secondary)}.gated-title-placeholder{font-size:inherit;font-weight:inherit}.gated-provider-placeholder{font-size:inherit}.teaser-section{display:flex;flex-direction:column;gap:16px}.teaser-section-heading{font-family:var(--font-display);font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin:0}.teaser-card{border-left:4px solid var(--blue)!important;background:#f5f9ff!important}.teaser-label-row{display:flex;align-items:center;gap:10px;margin-top:12px;margin-bottom:2px;flex-wrap:wrap}.teaser-label{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.teaser-label-top{background:var(--blue-light);color:var(--blue-hover)}.teaser-label-gem{background:#ede9fe;color:#5b21b6}.teaser-sublabel{font-size:.8rem;font-style:italic;color:var(--text-secondary)}.teaser-lock-note{font-size:.8125rem;color:var(--text-muted);margin:12px 0 0;display:flex;align-items:center;gap:6px}.teaser-lock-note:before{content:"🔒";font-size:.75rem}.teaser-conversion-copy{font-size:.9rem;color:var(--text-secondary);margin:4px 0 0;line-height:1.6}.match-results{display:flex;flex-direction:column;gap:28px}.results-header{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:24px 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;box-shadow:var(--shadow-sm)}.results-summary h2{margin:0 0 6px;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--navy);letter-spacing:-.02em}.results-meta{margin:0 0 10px;font-size:.875rem;color:var(--text-muted)}.results-last-run{color:var(--text-muted)}.student-summary{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.6;max-width:520px}.results-header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.results-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:8px;padding-top:24px;border-top:1px solid var(--border)}.export-btn{padding:9px 18px;font-family:var(--font-body);font-size:.875rem;font-weight:600;border:none;background:var(--navy);color:var(--surface);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background .15s,box-shadow .15s;box-shadow:0 2px 8px #0a254033}.export-btn:hover{background:var(--navy-mid);box-shadow:0 4px 12px #0a254040}.edit-profile-btn{padding:9px 18px;font-family:var(--font-body);font-size:.875rem;font-weight:500;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s,color .15s}.edit-profile-btn:hover{background:var(--bg);border-color:var(--navy);color:var(--navy)}.results-list{display:flex;flex-direction:column;gap:14px}.result-card{padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;border-left:4px solid var(--border)}.result-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.result-card-header{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.result-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.result-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.4}.result-title a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}.result-title a:hover{color:var(--blue);border-bottom-color:var(--blue-mid)}.result-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.result-provider{font-size:.875rem;color:var(--text-muted);font-weight:500}.result-value{font-size:.9375rem;font-weight:700;color:var(--green);letter-spacing:-.01em}.result-deadline{font-size:.875rem;color:var(--text-secondary)}.result-narrative{font-size:.9375rem;color:var(--text-secondary);line-height:1.7}.result-narrative p{margin:0 0 .5em}.result-narrative p:last-child{margin-bottom:0}.result-narrative a{color:var(--blue);text-decoration:underline}.result-raw-description{margin-top:16px;font-size:.875rem;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:12px}.result-raw-description summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);font-weight:500;font-size:.8125rem;transition:color .1s}.result-raw-description summary:hover{color:var(--text-secondary)}.result-raw-description-body{margin-top:10px;white-space:pre-wrap;word-break:break-word;line-height:1.6;color:var(--text-secondary);font-size:.875rem}.result-last-verified{margin-top:12px;margin-bottom:0;font-size:.8125rem;color:var(--text-muted)}.fit-badge{display:inline-block;padding:3px 11px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.6;white-space:nowrap;flex-shrink:0}.fit-strong{background:var(--green-light);color:var(--green-text)}.result-card:has(.fit-strong){border-left-color:var(--green)}.fit-moderate{background:var(--amber-light);color:var(--amber-text)}.result-card:has(.fit-moderate){border-left-color:#d97706}.fit-weak{background:var(--gray-badge);color:var(--gray-text)}.result-badges{display:flex;align-items:center;gap:8px;flex-shrink:0}.deadline-passed-badge{display:inline-block;padding:3px 11px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.6;white-space:nowrap;background:var(--red-light);color:var(--red-text)}.result-card-deadline-passed{border-left-color:var(--red)!important;opacity:.72}.inactive-badge{display:inline-block;padding:3px 11px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.6;white-space:nowrap;background:var(--gray-badge);color:var(--text-muted)}.result-card-inactive{opacity:.55}.landing{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:48px 24px;position:relative;overflow:hidden;background-color:#f4f2ed;background-image:radial-gradient(circle,#C8C4BB 1px,transparent 1px);background-size:28px 28px}.landing-content{max-width:560px;width:100%;text-align:center;position:relative;z-index:2}.landing-content:before{content:"";position:absolute;top:-80px;right:-80px;bottom:-80px;left:-80px;background:radial-gradient(ellipse 600px 400px at 50% 50%,rgba(37,99,235,.07),transparent 70%);pointer-events:none;z-index:-1}.landing-wordmark{font-family:var(--font-display);font-size:4rem;font-weight:700;font-style:italic;color:var(--navy);margin:0 0 4px;letter-spacing:-.03em;line-height:1.1}.landing-tagline{margin:0 0 36px;font-size:1.0625rem;color:var(--text-secondary);line-height:1.5;font-weight:400}.landing-stats{display:flex;justify-content:center;gap:2px;margin-bottom:36px;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 20px;flex:1;border-right:1px solid var(--border)}.landing-stat:last-child{border-right:none}.landing-stat-value{font-size:.9375rem;font-weight:700;color:var(--navy);white-space:nowrap}.landing-stat-label{font-size:.75rem;color:var(--text-muted);text-align:center;line-height:1.4}.landing-description{margin:0 0 28px;font-size:.9375rem;color:var(--text-secondary);line-height:1.7}.landing-cta{display:block;width:100%;padding:16px 28px;background:var(--navy);color:var(--surface);border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:1.0625rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s,transform .15s;margin-bottom:14px;letter-spacing:.01em;box-shadow:0 6px 20px #0a254059}.landing-cta:hover{background:var(--navy-mid);box-shadow:0 8px 28px #0a25406b;transform:translateY(-2px)}.landing-cta:active{transform:translateY(0)}.landing-note{margin:0 0 10px;font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:6px}.landing-note:before{content:"✓";color:var(--green);font-weight:700}.landing-retrieve{margin:0;font-size:.875rem;color:var(--text-secondary)}.link-btn{background:none;border:none;padding:0;color:var(--blue);font-size:inherit;font-family:var(--font-body);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .1s}.link-btn:hover{color:var(--blue-hover)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a254099;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:36px;width:100%;max-width:440px;position:relative;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:modal-in .2s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.375rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:4px 8px;transition:color .1s}.modal-close:hover{color:var(--text-primary)}.modal-title{margin:0 0 16px;font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--navy)}.modal-body{margin:0 0 24px;font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-secondary-action{margin:2px 0 0;font-size:.875rem;color:var(--text-muted);text-align:center}.form-label{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.form-label-hint{font-weight:400;color:var(--text-muted)}.form-input{padding:10px 13px;border:1.5px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.form-input--code{letter-spacing:.2em;font-size:1.375rem;text-align:center;max-width:150px;font-weight:600}.form-error{margin:0;font-size:.875rem;color:var(--red);font-weight:500}.btn{padding:11px 22px;border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s,box-shadow .15s;letter-spacing:.01em}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--navy);color:var(--surface);box-shadow:0 3px 10px #0a254040}.btn--primary:hover:not(:disabled){background:var(--navy-mid);box-shadow:0 5px 14px #0a25404d}.btn--secondary{background:var(--bg);color:var(--text-secondary);border:1.5px solid var(--border-strong)}.btn--secondary:hover:not(:disabled){background:var(--border);color:var(--text-primary)}@media(max-width:640px){.app-header{padding:0 16px}.app-main{padding:20px 16px 48px}.form-section{padding:20px 16px 24px}.field-row{grid-template-columns:1fr}.results-header{flex-direction:column;padding:20px}.results-header-actions{width:100%;flex-direction:column}.results-footer{flex-direction:column}.export-btn,.edit-profile-btn{width:100%;justify-content:center;text-align:center}.landing-wordmark{font-size:2.75rem}.landing-stats{flex-direction:column;gap:0}.landing-stat{flex-direction:row;justify-content:space-between;border-right:none;border-bottom:1px solid var(--border);padding:14px 20px}.landing-stat:last-child{border-bottom:none}.landing-stat-value{font-size:.9375rem}.result-card{padding:16px 18px}}
