:root{color-scheme:light;--bg: #ffffff;--soft: #f5f8f8;--soft-2: #edf5f3;--ink: #172027;--muted: #66757f;--line: #dce6e5;--red: #b51f2b;--red-dark: #941824;--teal: #12a69a;--green: #32b477;--shadow: 0 16px 44px rgba(29, 42, 50, .12);--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(180deg,#12a69a14,#fff0 34rem),var(--bg)}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{min-height:100vh;padding-bottom:88px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:96px;padding:18px;border-bottom:1px solid rgba(220,230,229,.85);background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;min-width:0;align-items:center}.brand img{width:min(72vw,292px);max-height:46px;object-fit:contain;object-position:left center}.icon-button{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink)}.mobile-menu{position:sticky;top:96px;z-index:19;display:grid;gap:8px;padding:12px 16px 16px;border-bottom:1px solid var(--line);background:#fffffff5;box-shadow:0 12px 30px #1c2a3214}.mobile-menu a{border:1px solid var(--line);border-radius:var(--radius);padding:12px;font-size:.9rem;font-weight:700}main{width:min(100%,1120px);margin:0 auto}.concept-switcher{display:grid;gap:12px;padding:18px 16px 8px;position:relative}.concept-switcher span,.section-label,.panel-title span,.route-card span,.result-row span,.next-steps p,.site-footer span,.sticky-apply span{color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.concept-switcher strong{display:block;margin-top:3px;font-size:.95rem}.concept-tabs{display:flex;flex:1 1 auto;min-width:0;gap:4px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fffc;padding:4px;scrollbar-width:none}.concept-tabs::-webkit-scrollbar{display:none}.concept-tabs-row{display:flex;align-items:stretch;gap:8px;min-width:0}.wishlist-button{position:relative;display:grid;flex:0 0 48px;width:48px;place-items:center;border:1px solid rgba(220,230,229,.95);border-radius:var(--radius);background:#fff;color:var(--red);box-shadow:0 10px 22px #1d2a320f;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.wishlist-button.is-active,.wishlist-button:hover{border-color:#b51f2b52;background:#fff5f6;box-shadow:0 10px 22px #b51f2b1a}.wishlist-button span{position:absolute;top:-7px;right:-7px;display:grid;min-width:20px;height:20px;place-items:center;border:2px solid #fff;border-radius:999px;background:var(--red);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:0;text-transform:none}.concept-tab{position:relative;display:inline-flex;flex:1 0 auto;min-width:max-content;min-height:42px;align-items:center;justify-content:center;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted);padding:0 14px;font-size:.8rem;font-weight:850;line-height:1.15;text-align:center;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.concept-tab.is-active{background:#fff5f6;color:var(--ink);box-shadow:0 10px 22px #b51f2b1f;transform:translateY(-1px)}.concept-tab.is-active:after{position:absolute;right:12px;bottom:5px;left:12px;height:3px;border-radius:999px;background:var(--red);content:""}.hero{display:grid;gap:16px;padding:16px;animation:fade-up .52s cubic-bezier(.2,.8,.2,1) both}.hero-copy{display:grid;gap:10px;padding-top:8px}.hero-media{position:relative;min-height:152px;overflow:hidden;border:1px solid rgba(220,230,229,.9);border-radius:var(--radius);background:var(--soft);box-shadow:0 14px 34px #1d2a321a}.hero-media:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(90deg,#ffffffbd,#ffffff14 62%);pointer-events:none}.hero-media img{display:block;width:100%;height:100%;min-height:152px;object-fit:cover;transform:scale(1.02);animation:image-settle .9s cubic-bezier(.2,.8,.2,1) both}.hero h1{max-width:12ch;margin:0;font-size:clamp(2.45rem,13vw,4.6rem);line-height:.94;letter-spacing:0}.hero p{margin:0;color:var(--muted);font-size:1rem;line-height:1.55}.finder-panel,.identity-panel,.genie-panel,.next-card{border:1px solid rgba(220,230,229,.92);border-radius:var(--radius);background:#ffffffeb;box-shadow:var(--shadow)}.finder-panel{display:grid;gap:13px;padding:14px 14px 78px}.finder-panel.is-compact{padding-bottom:78px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title strong{display:block;margin-top:2px;font-size:1.02rem}.panel-title svg{color:var(--red)}.degree-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);padding:4px}.degree-toggle button{min-height:38px;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted);font-size:.82rem;font-weight:850}.degree-toggle button.is-active{background:var(--red);color:#fff;box-shadow:0 8px 18px #b51f2b33}.search-field{display:flex;align-items:center;gap:9px;min-height:48px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:0 12px;color:var(--muted)}.search-field:focus-within{border-color:#12a69aa6;box-shadow:0 0 0 4px #12a69a1f}.search-field input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);font-size:.94rem}.filter-row,.filter-group div{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.filter-row::-webkit-scrollbar,.filter-group div::-webkit-scrollbar,.identity-tabs::-webkit-scrollbar{display:none}.filter-row button,.filter-group button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 11px;font-size:.78rem;font-weight:800}.filter-row .is-active,.filter-group button.is-active{border-color:#12a69a73;background:#e9fbf8;color:#08786f}.filter-row span{display:grid;min-width:19px;height:19px;place-items:center;border-radius:99px;background:var(--teal);color:#fff;font-size:.7rem}.filter-sheet{display:grid;gap:12px;border:1px solid rgba(18,166,154,.18);border-radius:var(--radius);background:#f2fbfa;padding:12px}.filter-group{display:grid;gap:8px}.filter-group>span{color:var(--ink);font-size:.78rem;font-weight:850}.results-list{display:grid;gap:8px}.result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:11px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.result-row:hover{transform:translateY(-1px);border-color:#b51f2b59;box-shadow:0 10px 22px #1d2a3214}.result-row div{min-width:0}.result-row a{min-width:0;flex:1 1 auto}.result-row strong{display:block;margin-top:3px;overflow:hidden;color:var(--ink);font-size:.9rem;line-height:1.25;text-overflow:ellipsis}.result-row p{margin-top:5px;color:var(--muted);font-size:.78rem}.result-row svg{flex:0 0 auto;color:var(--red)}.save-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;min-height:34px;border:1px solid rgba(18,166,154,.28);border-radius:var(--radius);background:#fff;color:#08786f;padding:0 9px;font-size:.74rem;font-weight:850;white-space:nowrap;transition:transform .16s ease,border-color .16s ease,background .16s ease}.save-button.is-saved{border-color:#12a69a73;background:#e9fbf8;color:#08786f;animation:pop .26s cubic-bezier(.18,.89,.32,1.28)}.save-button:active,.concept-tab:active,.genie-choice button:active,.primary-button:active,.ghost-button:active{transform:scale(.98)}.empty-state{display:grid;gap:5px;border:1px dashed var(--line);border-radius:var(--radius);padding:16px;text-align:center}.empty-state span{color:var(--muted);font-size:.82rem}.identity-panel{display:grid;gap:12px;padding:14px;overflow:hidden}.identity-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.identity-tabs button{flex:0 0 auto;min-height:40px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 12px;font-size:.82rem;font-weight:850}.identity-tabs button.is-active{border-color:#12a69a73;background:var(--teal);color:#fff;box-shadow:0 10px 20px #12a69a2e}.route-grid{display:grid;grid-template-columns:1fr;gap:10px}.route-card{position:relative;display:grid;min-height:176px;overflow:hidden;border-radius:var(--radius);background:#152329;color:#fff}.route-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.route-card:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(180deg,#0912170a,#091217b8),linear-gradient(90deg,#09121761,#09121705)}.route-card>div{position:relative;z-index:1;align-self:end;padding:16px}.route-card span{color:#ffffffb8}.route-card strong{display:block;margin-top:4px;font-size:1.15rem}.route-card p{max-width:28ch;margin-top:6px;color:#ffffffd1;font-size:.84rem;line-height:1.42}.route-card svg{position:absolute;right:14px;bottom:14px;z-index:1}.theme-search .hero{background:linear-gradient(180deg,#edf5f3bd,#fff0 34rem)}.theme-search .finder-panel:not(.is-compact){order:1}.theme-search .hero-copy{order:0}.theme-search .identity-panel{order:2}.theme-identity .hero{background:linear-gradient(180deg,#12a69a1a,#fff0 37rem)}.theme-identity .identity-panel{border-color:#12a69a3d}.theme-identity .route-grid{grid-template-columns:1fr 1fr}.theme-identity .route-card:first-child{grid-column:1 / -1;min-height:226px}.theme-identity .route-card:not(:first-child){min-height:148px}.theme-identity .route-card:not(:first-child) p{display:none}.theme-identity .finder-panel.is-compact{box-shadow:none}.theme-genie .hero{background:linear-gradient(180deg,#12a69a1f,#fff0 38rem)}.theme-genie .genie-panel{border-color:#12a69a47}.genie-panel{display:grid;gap:13px;padding:14px;overflow:hidden;animation:zoom-in .42s cubic-bezier(.2,.8,.2,1) both}.genie-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.genie-progress button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:54px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 12px;font-size:.72rem;font-weight:850;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.genie-progress button span{display:grid;flex:0 0 auto;width:22px;height:22px;place-items:center;border-radius:999px;background:var(--soft);color:var(--ink);font-size:.72rem}.genie-progress button.is-active{border-color:#b51f2b61;background:#fff5f6;color:var(--ink);transform:translateY(-1px)}.genie-progress button.is-active span{background:var(--red);color:#fff}.genie-progress button.is-done{border-color:#12a69a4d;background:#e9fbf8;color:#08786f}.genie-progress button.is-done span{background:var(--teal);color:#fff}.genie-meter{height:6px;overflow:hidden;border-radius:999px;background:var(--soft)}.genie-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--red));transition:width .3s cubic-bezier(.2,.8,.2,1)}.genie-shell{position:relative;min-height:304px}.genie-step{display:grid;gap:13px;animation:step-in .36s cubic-bezier(.2,.8,.2,1) both}.genie-step-copy{display:grid;gap:4px;border-radius:var(--radius);background:linear-gradient(135deg,#f2fbfa,#fff7f8);padding:12px}.genie-step-copy strong{font-size:1rem}.genie-step-copy span{color:var(--muted);font-size:.82rem;line-height:1.42}.genie-choice{display:grid;gap:8px}.genie-choice>span{color:var(--ink);font-size:.78rem;font-weight:850}.genie-choice>div{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.genie-choice>div::-webkit-scrollbar{display:none}.genie-choice button{flex:0 0 auto;min-height:38px;max-width:min(72vw,260px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 12px;font-size:.8rem;font-weight:850;white-space:nowrap;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.genie-choice button.is-active{border-color:#12a69a75;background:var(--teal);color:#fff;box-shadow:0 10px 20px #12a69a29;transform:translateY(-1px)}.genie-results{display:grid;gap:10px}.genie-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px;opacity:0;animation:card-in .36s cubic-bezier(.2,.8,.2,1) forwards}.genie-card:nth-child(2){animation-delay:70ms}.genie-card:nth-child(3){animation-delay:.14s}.genie-card:nth-child(4){animation-delay:.21s}.genie-card>div:nth-child(2){min-width:0}.genie-card .save-button{grid-column:1 / -1;justify-self:start}.match-score{display:grid;width:56px;height:56px;place-items:center;align-content:center;border-radius:50%;background:#e9fbf8;color:#08786f;animation:pop .36s .12s cubic-bezier(.18,.89,.32,1.28) both}.match-score strong{font-size:1rem;line-height:1}.match-score span{margin-top:2px;color:#08786f;font-size:.62rem;font-weight:850;text-transform:uppercase}.genie-card h3,.compare-card h3{margin:4px 0 0;font-size:.98rem;line-height:1.2;letter-spacing:0}.genie-card p,.compare-card p{margin:6px 0 0;color:var(--muted);font-size:.78rem;line-height:1.42}.reason-row,.subject-preview,.subject-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.reason-row span,.subject-preview span,.subject-list span{border-radius:var(--radius);background:var(--soft);color:var(--muted);padding:5px 8px;font-size:.7rem;font-weight:800;line-height:1.25;text-transform:none}.reason-row span{background:#fff3f4;color:var(--red-dark)}.genie-actions{display:grid;grid-template-columns:.72fr 1.28fr;gap:9px}.primary-button,.ghost-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius);font-size:.86rem;font-weight:900;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease}.primary-button{border:0;background:var(--red);color:#fff;box-shadow:0 12px 26px #b51f2b33}.ghost-button{border:1px solid var(--line);background:#fff;color:var(--muted)}.ghost-button:disabled{cursor:default;opacity:.42}.wishlist-panel{grid-column:1 / -1;display:grid;gap:14px;border:1px solid rgba(220,230,229,.95);border-radius:var(--radius);background:#fffffff5;padding:14px;box-shadow:0 18px 46px #1d2a321f;animation:slide-in .26s cubic-bezier(.2,.8,.2,1) both}.compare-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}.compare-heading p{margin:0;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.compare-heading h2{max-width:20ch;margin:5px 0 0;font-size:1.35rem;line-height:1.05;letter-spacing:0}.compare-heading>span{flex:0 0 auto;border-radius:var(--radius);background:#e9fbf8;color:#08786f;padding:7px 9px;font-size:.72rem;font-weight:850}.wishlist-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted)}.compare-grid{display:grid;gap:10px}.compare-card{display:grid;gap:12px;border:1px solid rgba(220,230,229,.92);border-radius:var(--radius);background:#fff;padding:14px;box-shadow:0 12px 32px #1d2a3214}.compare-card>div:first-child>span{color:var(--red);font-size:.72rem;font-weight:850}.compare-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.compare-card dl div{border-radius:var(--radius);background:var(--soft);padding:9px}.compare-card dt{color:var(--muted);font-size:.66rem;font-weight:800}.compare-card dd{margin:3px 0 0;color:var(--ink);font-size:1rem;font-weight:900}.compare-card>button{min-height:38px;border:1px solid rgba(181,31,43,.24);border-radius:var(--radius);background:#fff5f6;color:var(--red-dark);font-size:.8rem;font-weight:850}.compare-empty{display:grid;place-items:center;gap:8px;border:1px dashed var(--line);border-radius:var(--radius);background:#fff;padding:24px 16px;text-align:center}.compare-empty svg{color:var(--teal)}.compare-empty span{max-width:30ch;color:var(--muted);font-size:.82rem;line-height:1.45}.next-steps{display:grid;gap:14px;padding:24px 16px 32px}.next-steps h2{max-width:14ch;margin:5px 0 0;font-size:1.9rem;line-height:1;letter-spacing:0}.next-grid{display:grid;gap:10px}.next-card{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:14px;box-shadow:none}.next-card div{display:grid;width:34px;height:34px;grid-row:span 2;place-items:center;border-radius:var(--radius);background:#e9fbf8;color:var(--teal)}.next-card strong{font-size:.95rem}.next-card span{color:var(--muted);font-size:.84rem;line-height:1.45}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 16px 110px;border-top:1px solid var(--line);background:var(--soft)}.site-footer div{display:grid;gap:4px}.site-footer strong{font-size:.9rem}.site-footer span{max-width:23ch;line-height:1.35;text-transform:none}.site-footer img{display:block;width:52px;height:52px;object-fit:contain}.sticky-apply{position:fixed;right:12px;bottom:12px;left:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;margin:0 auto;border:1px solid rgba(181,31,43,.25);border-radius:var(--radius);background:#ffffffeb;padding:10px;box-shadow:0 18px 48px #1a262e2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transform:translateY(18px);transition:opacity .18s ease,transform .18s ease}.sticky-apply.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.sticky-apply div{display:grid;min-width:0;gap:2px}.sticky-apply strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.sticky-apply a{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-height:42px;border-radius:calc(var(--radius) - 1px);background:var(--red);color:#fff;padding:0 16px;font-size:.88rem;font-weight:850}@media(min-width:740px){.app{padding-bottom:0}.site-header,.concept-switcher,.hero,.next-steps,.site-footer{padding-inline:28px}.site-header{min-height:112px;padding-block:18px}.brand img{width:clamp(420px,38vw,560px);max-height:72px}.icon-button{width:52px;height:52px}.mobile-menu{top:112px}.concept-switcher{grid-template-columns:1fr 1.25fr;align-items:end;padding-top:28px}.hero{grid-template-columns:minmax(260px,.78fr) minmax(360px,1fr);align-items:start;gap:24px;padding-top:28px}.hero-copy{position:sticky;top:92px}.hero-media{grid-column:1;min-height:230px}.hero-media img{min-height:230px}.finder-panel,.finder-panel.is-compact{padding-bottom:14px}.hero h1{font-size:clamp(3.3rem,7vw,5.7rem)}.hero.identity-first{grid-template-columns:minmax(260px,.72fr) minmax(380px,1fr)}.hero.identity-first .finder-panel{grid-column:2}.hero.genie-first{grid-template-columns:minmax(430px,.94fr) minmax(440px,1.06fr)}.hero.genie-first .finder-panel{grid-column:2}.hero.genie-first .hero-copy{min-width:0}.hero.genie-first h1{max-width:13ch;font-size:clamp(3.8rem,5.2vw,5rem);line-height:.98}.genie-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.genie-card .save-button{grid-column:auto}.genie-choice>div{flex-wrap:wrap;overflow-x:visible}.genie-choice button{max-width:none}.wishlist-panel{justify-self:end;width:min(100%,760px)}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-grid{grid-template-columns:1fr 1fr}.route-card:first-child{grid-column:1 / -1}.next-steps{grid-template-columns:.8fr 1.2fr;align-items:start}.next-grid{grid-template-columns:repeat(3,1fr)}.next-card{grid-template-columns:1fr}.sticky-apply{right:24px;bottom:24px;left:auto;width:390px}}@media(min-width:1040px){.site-header{padding-inline:max(32px,calc((100vw - 1120px)/2))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes zoom-in{0%{opacity:0;transform:scale(.98) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes step-in{0%{opacity:0;transform:translate(16px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes card-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pop{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes image-settle{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1.02)}}
