:root{--bg:#f8f0e9;--surface:#fffbf7;--surface-strong:#ffffff;--surface-soft:#f6ece4;--ink:#332d2b;--muted:#88756f;--line:#efe0d5;--line-strong:#e3cfc1;--accent:#d58d9a;--accent-deep:#a85f6d;--accent-soft:#f1d5d9;--accent-2:#a7c9a2;--rose:#d58d9a;--rose-soft:#f1d5d9;--blue:#8ebbe5;--blue-soft:#e5f1fc;--sage:#a7c9a2;--sage-soft:#e5f1df;--butter:#f8d98c;--butter-soft:#fdf3d8;--danger:#b4574e;--shadow:0 6px 20px rgba(120,84,68,0.07);--shadow-hover:0 12px 28px rgba(120,84,68,0.12);--radius-sm:12px;--radius:18px;--radius-lg:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:0.975rem;--text-lg:1.125rem;--text-xl:1.35rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3.1rem;--sidebar-width:236px;--ease:cubic-bezier(0.22,1,0.36,1)}body,html{font-family:var(--font-sans),"DM Sans",ui-sans-serif,system-ui,sans-serif;font-size:16px;color:var(--ink)}body{background:var(--bg)}.brand-mark,.page-title,.section-title,.serif,h1,h2,h3{font-family:var(--font-serif),Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.page-title{font-size:var(--text-3xl);line-height:1.1;margin:0}.section-title{font-size:var(--text-xl);margin:0}.lede{font-size:var(--text-base);max-width:62ch}.lede,.muted{color:var(--muted)}.eyebrow,.section-kicker{color:var(--accent-deep);background:none;border:0;padding:0;font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button,.cozy-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600;font-size:var(--text-sm);cursor:pointer;box-shadow:0 4px 12px rgba(213,141,154,.28);transition:background-color .2s var(--ease),transform .15s var(--ease),box-shadow .2s var(--ease)}.button:hover,.cozy-button:hover{background:#cb7e8c;transform:translateY(-1px)}.button:active,.cozy-button:active{transform:translateY(0) scale(.98)}.button-secondary,.cozy-button.secondary{background:var(--surface);color:var(--accent-deep);border-color:var(--line-strong);box-shadow:none}.button-secondary:hover,.cozy-button.secondary:hover{background:var(--blue-soft);border-color:#cfe2f4}.cozy-button.ghost{background:transparent;border-color:transparent;color:var(--accent-deep);box-shadow:none}.cozy-button.large{min-height:48px;padding:0 26px;font-size:var(--text-base)}.button-danger{background:var(--danger);border-color:var(--danger);box-shadow:none}.button:disabled,.button[aria-disabled=true],.cozy-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.field{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-strong);color:var(--ink);min-height:42px;transition:border-color .2s,box-shadow .2s}.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-label{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.chip,.pill{border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--accent-deep);font-size:var(--text-xs);padding:4px 10px}.pill-soft{background:var(--surface-soft);color:var(--muted)}.subtle-link{color:var(--accent-deep)}.college-overview-card,.cozy-card,.panel,.research-status-card,.stat-card,.sub-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.cozy-card{padding:var(--space-5)}.college-overview-card,.cozy-card.interactive{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.college-overview-card:hover,.cozy-card.interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--line-strong)}.panel:hover{transform:none}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.card-heading h2,.card-heading h3{margin:0;font-size:var(--text-lg)}.card-heading .icon{color:var(--accent)}.app-frame{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .3s var(--ease)}.app-frame.collapsed{--sidebar-width:78px}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-3);background:linear-gradient(180deg,#fffbf7,#fbf0ea 60%,#f7e6e2);border-right:1px solid var(--line);border-radius:0 var(--radius-lg) var(--radius-lg) 0;overflow:hidden;z-index:30}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-2)}.brand-mark{font-size:1.3rem;font-weight:700;color:var(--ink);white-space:nowrap}.brand-mark .sparkle{color:var(--butter);margin-left:2px}.sidebar-collapse{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:10px 12px;border-radius:14px;color:var(--ink);font-weight:500;font-size:var(--text-sm);white-space:nowrap;transition:background-color .2s var(--ease),color .2s var(--ease)}.sidebar-link svg{flex-shrink:0;color:var(--accent)}.sidebar-link:hover{background:rgba(241,213,217,.45)}.sidebar-link.active{color:#8f3f50;font-weight:700}.sidebar-link .active-bg{position:absolute;inset:0;border-radius:14px;background:var(--accent-soft);z-index:-1}.sidebar-footer{margin-top:auto;display:grid;grid-gap:var(--space-3);gap:var(--space-3);justify-items:center}.sidebar-cat{width:96px;height:auto}.sidebar-signout{width:100%;min-height:36px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:600;font-size:var(--text-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.app-frame.collapsed .brand-mark,.app-frame.collapsed .sidebar-cat,.app-frame.collapsed .sidebar-label{display:none}.app-frame.collapsed .sidebar-brand{justify-content:center}.app-frame.collapsed .sidebar-link{justify-content:center;padding:10px}.app-main{min-width:0}.app-main .shell{margin:0;max-width:1240px;padding:var(--space-6) var(--space-6) var(--space-7)}.app-main .shell-wide{max-width:1480px}.mobile-topbar{display:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5)}.page-header-text{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.page-header-text .lede{margin:0}.page-header-art{width:120px;height:auto;flex-shrink:0}.page-header-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.illustrated-hero{position:relative;min-height:230px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:var(--space-5);isolation:isolate}.illustrated-hero-art{position:absolute;inset:0;z-index:-2}.illustrated-hero-art img{object-fit:cover;object-position:center 70%}.illustrated-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,251,247,.82),rgba(255,251,247,.4) 38%,rgba(255,251,247,0) 60%)}.illustrated-hero-content{padding:var(--space-6);max-width:520px}.illustrated-hero-content h1{font-size:var(--text-3xl);margin:0 0 var(--space-2);display:flex;align-items:center;gap:10px}.illustrated-hero-content p{margin:0;color:var(--muted)}.hero-cloud{position:absolute;top:18px;width:140px;height:40px;border-radius:999px;background:rgba(255,253,249,.85);filter:blur(1px);z-index:-1}.sticky-note{position:absolute;right:28px;top:26px;width:168px;padding:18px 16px 16px;background:#fff6d9;border-radius:6px;box-shadow:0 10px 24px rgba(120,84,68,.15);font-family:var(--font-serif),Georgia,serif;font-size:var(--text-sm);line-height:1.45;color:var(--ink);transform:rotate(4deg)}.sticky-note:before{content:"";position:absolute;top:-8px;left:50%;width:54px;height:16px;transform:translateX(-50%) rotate(-3deg);background:rgba(241,213,217,.85);border-radius:3px}.hero-cat{right:210px;bottom:6px;width:92px;height:auto}.hero-cat,.star{position:absolute}.star{color:var(--butter);pointer-events:none}.progress-ring{position:relative;display:inline-grid;place-items:center}.progress-ring svg{transform:rotate(-90deg)}.progress-ring-label{position:absolute;font-family:var(--font-serif),Georgia,serif;font-weight:600;font-size:var(--text-xl);color:var(--ink)}.progress-bar{height:8px;border-radius:999px;background:#f1e5dc;overflow:hidden}.progress-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent) 0,#e7aab4 100%)}.college-card{display:grid;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);color:inherit}.college-card-art{position:relative;aspect-ratio:2/1;overflow:hidden;background:var(--blue-soft)}.college-card-art img{object-fit:cover;transition:transform .6s var(--ease)}.college-card:hover .college-card-art img{transform:scale(1.04)}.due-badge{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:999px;background:rgba(213,141,154,.92);color:#fff;font-size:var(--text-xs);font-weight:600}.due-badge.calm{background:rgba(255,251,247,.92);color:var(--accent-deep)}.college-card-body{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}.college-card-title{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.college-card-title strong{font-size:var(--text-base)}.college-card-meta{font-size:var(--text-xs);color:var(--muted)}.college-card-progress{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--text-xs);font-weight:600}.add-college-tile{display:grid;place-content:center;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);min-height:200px;border-radius:var(--radius);border:1.5px dashed var(--line-strong);color:var(--muted);font-size:var(--text-sm);transition:border-color .2s,background-color .2s}.add-college-tile:hover{border-color:var(--accent);background:rgba(241,213,217,.25)}.add-college-tile .plus{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--line-strong);color:var(--accent)}.deadline-list{display:grid}.deadline-list-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto 18px;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:12px 4px;border-bottom:1px solid var(--line);font-size:var(--text-sm);transition:background-color .2s;border-radius:10px}.deadline-list-row:hover{background:var(--surface-soft)}.deadline-when{font-weight:600}.deadline-flag{font-size:var(--text-xs);color:var(--accent-deep);white-space:nowrap}.deadline-flag.unverified{color:var(--muted)}.quick-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.quick-tile{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius);border:1px solid transparent;color:var(--ink);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.quick-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.quick-tile .tile-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.7)}.quick-tile strong{font-size:var(--text-sm)}.quick-tile span{font-size:var(--text-xs);color:var(--muted)}.tone-rose{background:var(--rose-soft)}.tone-blue{background:var(--blue-soft)}.tone-sage{background:var(--sage-soft)}.tone-butter{background:var(--butter-soft)}.tone-rose .tile-icon{color:var(--accent-deep)}.tone-blue .tile-icon{color:#4f86b9}.tone-sage .tile-icon{color:#5f8c5a}.tone-butter .tile-icon{color:#a8832f}.empty-state{display:grid;justify-items:center;text-align:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-6) var(--space-4)}.empty-state img{width:110px;height:auto}.empty-state strong{font-family:var(--font-serif),Georgia,serif;font-size:var(--text-lg)}.empty-state p{margin:0;max-width:44ch;color:var(--muted);font-size:var(--text-sm)}.loading-state{display:grid;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-6);color:var(--muted)}.empty-panel{border-radius:var(--radius-lg);border:1.5px dashed var(--line-strong);background:var(--surface)}@media (max-width:900px){.app-frame,.app-frame.collapsed{grid-template-columns:1fr}.app-sidebar{position:fixed;inset:0 auto 0 0;width:260px;height:100vh;transform:translateX(-105%);transition:transform .3s var(--ease);box-shadow:var(--shadow-hover);flex-direction:column;flex-wrap:nowrap;align-items:stretch;border-radius:0 var(--radius-lg) var(--radius-lg) 0;border-bottom:0;padding:var(--space-5) var(--space-3)}.app-frame.mobile-open .app-sidebar{transform:translateX(0)}.app-frame .brand-mark,.app-frame .sidebar-label{display:inline}.sidebar-collapse.desktop-only{display:none}.mobile-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(248,240,233,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.sidebar-scrim{position:fixed;inset:0;background:rgba(51,45,43,.25);z-index:25}.app-main .shell{padding:var(--space-5) var(--space-4) var(--space-7)}.page-title{font-size:var(--text-2xl)}.quick-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-cat,.sticky-note{display:none}.page-header{flex-direction:column;align-items:flex-start}.page-header-art{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes drift{0%{transform:translateX(-30px)}to{transform:translateX(40px)}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes cat-idle{0%,92%,to{transform:translateY(0)}96%{transform:translateY(-3px)}}.drift{animation:drift 38s ease-in-out infinite alternate}.twinkle{animation:twinkle 3.6s ease-in-out infinite}.twinkle.delay{animation-delay:1.4s}.cat-idle{animation:cat-idle 6s ease-in-out infinite;transform-origin:bottom center}.title-sparkle{color:var(--butter);font-size:.55em;vertical-align:super}.mobile-only{display:none}@media (max-width:900px){.mobile-only{display:grid}}.landing{background:var(--bg);min-height:100vh}.landing-nav{position:absolute;top:0;left:0;right:0;z-index:10;justify-content:space-between;padding:22px clamp(16px,5vw,64px)}.landing-nav,.landing-nav nav{display:flex;align-items:center}.landing-nav nav{gap:clamp(12px,2.4vw,28px);font-size:var(--text-sm);font-weight:500}.landing-nav nav a:not(.cozy-button):hover{color:var(--accent-deep)}.landing-hero{position:relative;min-height:min(860px,100vh);display:grid;grid-template-rows:1fr auto;overflow:hidden;isolation:isolate}.landing-hero-sky{position:absolute;inset:0;z-index:-2}.landing-hero-sky img{object-fit:cover;object-position:center 30%}.landing-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 30%,rgba(255,251,247,.92) 0,rgba(255,251,247,.6) 35%,rgba(255,251,247,0) 65%)}.landing-hero-copy{align-self:start;justify-self:center;display:grid;justify-items:center;grid-gap:var(--space-4);gap:var(--space-4);max-width:680px;margin-top:clamp(110px,16vh,160px);padding:0 var(--space-4);text-align:center}.landing-hero-copy h1{margin:0;font-size:clamp(2.3rem,5.6vw,4rem);line-height:1.05}.landing-hero-copy p{margin:0;font-size:var(--text-lg);color:var(--muted);max-width:52ch}.landing-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.landing-fineprint{font-size:var(--text-xs);color:var(--muted)}.landing-note{top:auto;bottom:300px;right:clamp(16px,6vw,90px)}.landing-desk{position:relative;width:min(1100px,100%);justify-self:center;margin-bottom:-6px}.landing-desk img{width:100%;height:auto;display:block}.landing-section{max-width:1160px;margin:0 auto;padding:var(--space-7) clamp(16px,4vw,40px)}.landing-section-title{text-align:center;font-size:clamp(1.8rem,4vw,2.6rem);margin:0}.landing-section-sub{text-align:center;color:var(--muted);margin:var(--space-2) auto var(--space-6);max-width:56ch}.landing-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.landing-feature{display:grid;grid-gap:var(--space-2);gap:var(--space-2);align-content:start;padding:var(--space-4)}.landing-feature.lead{border-color:var(--accent)}.landing-feature-art{display:grid;place-items:center;height:150px;border-radius:var(--radius);overflow:hidden;margin-bottom:var(--space-2)}.landing-feature-art img{max-height:120px;width:auto;object-fit:contain}.landing-feature h3{margin:0;font-size:var(--text-lg);display:flex;align-items:center;gap:8px}.landing-feature h3 svg{color:var(--accent)}.landing-feature p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.55}.landing-steps{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.landing-steps li{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4)}.landing-steps p{margin:0;color:var(--muted);font-size:var(--text-sm)}.landing-step-number{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-family:var(--font-serif),Georgia,serif;font-weight:700}.landing-final{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-7)}.landing-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-5) clamp(16px,5vw,64px);border-top:1px solid var(--line);font-size:var(--text-sm)}.auth-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:var(--space-6) var(--space-4);overflow:hidden;isolation:isolate}.auth-scenery{position:absolute;inset:auto 0 0 0;height:55vh;z-index:-1}.auth-scenery img{object-fit:cover;object-position:center bottom}.auth-page:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--bg) 0,var(--bg) 40%,rgba(248,240,233,0) 70%)}.auth-card{width:min(420px,100%);display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);background:rgba(255,251,247,.96);border:1px solid var(--line);box-shadow:var(--shadow-hover);text-align:center}.auth-card h1{margin:var(--space-2) 0 0;font-size:var(--text-3xl)}.auth-card p{margin:0}.auth-options{width:100%}.auth-option{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:#fff;font-weight:600;font-size:var(--text-sm);color:var(--ink);cursor:pointer;transition:background-color .2s,transform .15s}.auth-option:hover{background:var(--surface-soft);transform:translateY(-1px)}.auth-divider,.auth-fineprint{font-size:var(--text-xs)}.auth-divider{width:100%;display:flex;align-items:center;gap:10px;color:var(--muted)}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.onboarding{min-height:100vh;display:grid;place-items:center;padding:var(--space-5) var(--space-4);background:radial-gradient(circle at 15% 85%,var(--sage-soft) 0,transparent 30%),radial-gradient(circle at 90% 10%,var(--blue-soft) 0,transparent 30%),var(--bg)}.onboarding-card{position:relative;width:min(560px,100%);min-height:600px;padding:var(--space-5) var(--space-6) 120px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-hover);overflow:hidden}.onboarding-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.onboarding-back{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;border:0;background:transparent;color:var(--ink);cursor:pointer}.onboarding-progress,.onboarding-progress-segment{display:flex;align-items:center}.onboarding-progress-segment{position:relative;width:64px}.onboarding-progress-segment:last-child{width:12px}.onboarding-progress-segment>span{position:absolute;left:6px;right:-6px;height:2px;background:var(--accent);transform-origin:left}.onboarding-progress-segment:last-child>span{display:none}.onboarding-progress-segment:before{content:"";position:absolute;left:6px;right:-6px;height:2px;background:#ead9cf}.onboarding-progress-segment:last-child:before{display:none}.onboarding-progress-segment i{position:relative;z-index:1;width:12px;height:12px;border-radius:999px}.onboarding-step{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.onboarding-step h1{margin:0;text-align:center;font-size:var(--text-2xl)}.onboarding-step>p.muted{margin:0 0 var(--space-3);text-align:center}.onboarding-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.onboarding-actions.center{justify-content:center}.onboarding-hint{font-size:var(--text-xs)}.onboarding-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);font-weight:500;cursor:pointer}.onboarding-chip svg{color:var(--accent)}.onboarding-chip.chosen{background:var(--accent-soft);border-color:var(--accent)}.onboarding-search{display:grid;grid-gap:6px;gap:6px}.onboarding-search-box{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:#fff}.onboarding-search-box input{flex:1 1;min-height:42px;border:0;outline:none;background:transparent}.onboarding-search-results{display:grid;max-height:200px;overflow-y:auto;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff}.onboarding-search-results>.muted{padding:10px 12px}.onboarding-result{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.onboarding-result>span{display:grid}.onboarding-result.chosen{background:var(--accent-soft)}.onboarding-result svg{color:var(--accent)}.onboarding-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.onboarding-focus-tile{position:relative;display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:18px 8px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;color:var(--ink);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:border-color .2s,background-color .2s}.onboarding-focus-tile svg{color:var(--accent-deep)}.onboarding-focus-tile.chosen{border-color:var(--accent);background:var(--accent-soft)}.onboarding-check{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:var(--accent);color:#fff}.onboarding-check svg{color:#fff}.onboarding-finish{position:relative;display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);text-align:center}.onboarding-signpost{width:180px;height:auto}.onboarding-finish-cat{position:absolute;top:110px;left:calc(50% - 150px);width:90px;height:auto}.onboarding-books{position:absolute;left:16px;bottom:12px;width:110px;height:auto;opacity:.9}.onboarding-flowers{position:absolute;right:18px;bottom:8px;width:70px;height:auto}.dashboard .illustrated-hero{min-height:240px}.hero-sun{color:#e9b949;font-size:.8em}.hero-cta{margin-top:var(--space-4)}.dashboard-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-4)}.dashboard-row.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-4)}.progress-card-body{display:flex;align-items:center;gap:var(--space-5)}.progress-legend{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--text-sm)}.progress-legend .dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:8px}.dot.done{background:var(--accent)}.dot.doing{background:var(--butter)}.dot.todo{background:#ead9cf}.deadline-footnote{font-size:var(--text-xs);margin:var(--space-3) 0 0}.colleges-grid,.dashboard-colleges{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.task-add{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;grid-gap:8px;gap:8px;margin-bottom:var(--space-3)}.task-add .cozy-button{padding:0 12px}.task-item,.task-list{display:grid}.task-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.task-text{display:grid;font-size:var(--text-sm)}.task-text .muted{font-size:var(--text-xs)}.task-check,.task-delete{border:0;background:none;color:var(--accent);cursor:pointer;display:grid;place-items:center}.task-delete{color:var(--muted);opacity:.6}.task-delete:hover{opacity:1}.activity-list{list-style:none;margin:0;padding:0;display:grid}.activity-list a{display:grid;grid-gap:2px;gap:2px;padding:10px 6px;border-bottom:1px solid var(--line);border-radius:8px;font-size:var(--text-sm)}.activity-list a:hover{background:var(--surface-soft)}.activity-list .muted,.activity-prompt{font-size:var(--text-xs)}.activity-prompt{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-tiles.stacked{grid-template-columns:repeat(2,minmax(0,1fr))}.view-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.view-toggle a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;font-size:var(--text-sm);font-weight:600;color:var(--muted)}.view-toggle a.active{background:var(--accent-soft);color:#8f3f50}.map-layout{display:grid;grid-template-columns:230px minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.map-side{display:grid;grid-gap:var(--space-3);gap:var(--space-3);position:-webkit-sticky;position:sticky;top:var(--space-5)}.map-hint{font-size:var(--text-xs);margin:0}.map-legend{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3);font-size:var(--text-sm)}.map-legend li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:8px;gap:8px}.campus-map{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--sage-soft)}.map-content,.map-viewport{width:100%!important}.map-viewport{cursor:-webkit-grab;cursor:grab}.map-viewport:active{cursor:-webkit-grabbing;cursor:grabbing}.map-world{position:relative;width:100%}.map-art{object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.map-art,.map-path{pointer-events:none}.map-path{position:absolute;inset:0;width:100%;height:100%}.map-controls{position:absolute;top:12px;right:12px;z-index:5;display:grid;grid-gap:4px;gap:4px}.map-controls button{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:rgba(255,251,247,.95);color:var(--ink);cursor:pointer}.map-marker{position:absolute;transform:translate(-50%,-100%);display:grid;justify-items:center;z-index:2}.map-marker.selected{z-index:4}.map-card{display:grid;grid-gap:4px;gap:4px;width:clamp(96px,13vw,150px);padding:8px;border-radius:14px;background:rgba(255,251,247,.97);border:1px solid var(--line);box-shadow:0 8px 20px rgba(80,58,40,.16);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.map-marker.selected .map-card,.map-marker:hover .map-card{transform:translateY(-4px) scale(1.04);box-shadow:0 14px 28px rgba(80,58,40,.22)}.map-card-head{display:grid;line-height:1.2}.map-card-head strong{font-family:var(--font-serif),Georgia,serif;font-size:clamp(.72rem,1.1vw,.95rem)}.map-card-head span{font-size:clamp(.62rem,.9vw,.72rem);font-weight:600}.map-card-art{position:relative;aspect-ratio:2/1;border-radius:8px;overflow:hidden}.map-card-art img{object-fit:cover}.map-card-progress{height:4px;border-radius:999px;background:#f1e5dc;overflow:hidden}.map-card-progress span{display:block;height:100%}.map-pin{margin-top:-2px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.2))}.map-card.locked{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;padding:8px 12px;color:var(--muted);font-size:var(--text-xs);background:rgba(255,251,247,.8);border-style:dashed}.map-overflow{padding:8px 14px;font-size:var(--text-xs);margin:0}.picker-card{margin-bottom:var(--space-4)}.picker-note{margin:-8px 0 var(--space-3);font-size:var(--text-sm)}@media (max-width:1100px){.landing-features,.landing-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-row.three{grid-template-columns:1fr 1fr}}@media (max-width:900px){.landing-nav nav a:not(.cozy-button):not([href^="/signin"]),.landing-note{display:none}.dashboard-row,.dashboard-row.three,.map-layout{grid-template-columns:1fr}.map-side{position:static}}@media (max-width:640px){.landing-features,.landing-steps,.onboarding-focus{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-card{padding:var(--space-4) var(--space-4) 110px}.progress-card-body{flex-direction:column}.task-add{grid-template-columns:1fr auto}.map-card-art,.task-add input[type=date]{display:none}}.landing-hero{background:linear-gradient(180deg,#c6e0f4,#e3eef7 45%,#f6efe8)}.landing-hero-sky{inset:auto 0 70px 0;aspect-ratio:1600/420;min-height:300px}.landing-hero-sky img{object-position:center bottom}.auth-page{background:linear-gradient(180deg,#f8f0e9,#eef0f2 35%,#d4e7f6 70%)}.auth-page:before{display:none}.auth-scenery{z-index:-2;height:62vh;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%);mask-image:linear-gradient(180deg,transparent 0,#000 30%)}.map-marker-inner{display:grid;justify-items:center}.landing-hero-sky{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28%);mask-image:linear-gradient(180deg,transparent 0,#000 28%)}.studio-tabs{gap:var(--space-3)}.studio-tab{border-radius:var(--radius);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}.studio-tab.active{background:linear-gradient(180deg,#fbe7ea 0,var(--accent-soft) 100%);border-color:#e7b5be}.ps-layout.three-panel{grid-template-columns:minmax(230px,.75fr) minmax(0,2fr) minmax(230px,.75fr);gap:var(--space-4)}.ps-editor{padding:var(--space-5);background:#fffdfa}.ps-textarea{border-color:transparent;background:#fffefc;box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--radius);font-family:var(--font-serif),Georgia,serif;font-size:1.1rem;line-height:1.85;min-height:560px}.ps-side{padding:var(--space-4);top:var(--space-5)}.ps-side-tabs .tab-chip{padding:6px 12px;border-radius:999px;font-weight:600;color:var(--muted)}.ps-side-tabs .tab-chip.active{background:var(--accent-soft);border-color:#e7b5be;color:#8f3f50}.ps-count-card{display:grid;grid-gap:2px;gap:2px;padding:var(--space-4);border-radius:var(--radius);background:linear-gradient(180deg,var(--blue-soft) 0,#f3f8fd 100%)}.ps-count-card strong{font-family:var(--font-serif),Georgia,serif;font-size:var(--text-3xl);line-height:1}.ps-count-card strong.over{color:var(--danger)}.ps-count-card .muted{font-size:var(--text-sm)}.word-meter-fill{background:linear-gradient(90deg,var(--sage) 0,#c1dbbc 100%)}.garden-canvas{border-radius:var(--radius-lg);background:radial-gradient(circle at 8% 92%,var(--rose-soft) 0 70px,transparent 71px),radial-gradient(circle at 94% 8%,var(--sage-soft) 0 90px,transparent 91px),radial-gradient(circle at 60% 100%,var(--butter-soft) 0 60px,transparent 61px),#fffdf9}.idea-node{border-radius:20px;box-shadow:0 8px 18px rgba(120,84,68,.1)}.react-flow__edge.idea-edge.theme .react-flow__edge-path{stroke:var(--accent);stroke-width:3;filter:drop-shadow(0 0 4px rgba(213,141,154,.6))}.garden-toolbar .button:not(.button-secondary){background:linear-gradient(90deg,var(--accent) 0,#e2a2ad 100%)}.theme-card{border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffdf9,#fdf3ef);position:relative;overflow:hidden}.theme-card:after{content:"✦";position:absolute;top:12px;right:14px;color:var(--butter);font-size:14px}.theme-card h3{font-size:var(--text-lg);padding-right:18px}.rating-chip.strong{background:var(--sage-soft);border-color:#cfe2c9}.rating-chip.promising{background:var(--butter-soft);border-color:#f1dfa9}.essay-main,.essay-right-rail,.essay-shell .panel,.essay-sidebar{border-radius:var(--radius-lg)}.essay-research-panel{border-radius:var(--radius);background:var(--surface)}@media (max-width:1200px){.ps-layout.three-panel{grid-template-columns:minmax(0,1fr) minmax(240px,.6fr)}.ps-layout.three-panel .ps-left{grid-column:1/-1;order:3;position:static;max-height:none}}@media (max-width:900px){.ps-layout.three-panel{grid-template-columns:1fr}.ps-layout.three-panel .ps-left,.ps-layout.three-panel .ps-right{position:static;max-height:none}}.studio-tab strong{display:inline-flex;align-items:center;gap:8px}.studio-tab strong svg{color:var(--accent)}.research-section{padding:var(--space-5)}.research-section-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-serif),Georgia,serif;font-size:var(--text-lg)}.research-section-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--accent-deep)}.finding-card{border-radius:var(--radius);border-color:var(--line);background:var(--surface);box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.finding-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);background:var(--surface)}.research-list-card{background:var(--surface);box-shadow:var(--shadow)}.research-list-card,.research-status-card{border-radius:var(--radius)}.college-back{display:inline-block;margin-bottom:var(--space-3);font-size:var(--text-sm)}.college-hero{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5);align-items:center;padding:var(--space-4);margin-bottom:var(--space-4)}.college-hero-art{position:relative;aspect-ratio:2/1;border-radius:var(--radius);overflow:hidden}.college-hero-art img{object-fit:cover}.college-hero-body{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.college-hero-title{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.college-hero-title .page-title{font-size:var(--text-2xl)}.due-pill{display:grid;justify-items:center;padding:8px 14px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-deep);font-weight:600;font-size:var(--text-sm);white-space:nowrap}.due-pill small{font-weight:500;font-size:var(--text-xs)}.due-pill.calm{background:var(--surface-soft);color:var(--muted)}.college-hero-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-sm)}.tab-row .tab-chip{border-radius:999px}.tab-row .tab-chip.active{background:var(--accent-soft);color:#8f3f50;border-color:#e7b5be}@media (max-width:900px){.college-hero{grid-template-columns:1fr}.college-hero-title{flex-direction:column}}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--accent)}.empty-panel{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-5)}.empty-panel strong{font-family:var(--font-serif),Georgia,serif;font-size:var(--text-lg)}.empty-panel p{margin:0}.essay-prompt-title,.essay-workspace-title{font-size:var(--text-xl);line-height:1.35}.ps-editor-top{align-items:flex-start}.ps-editor-meta{flex-wrap:wrap;gap:8px 12px}.ps-editor-meta .section-kicker{width:100%}.ps-editor-meta .field{width:auto;min-width:200px;min-height:36px}.ps-editor-actions .button{min-height:36px}.garden-empty-cat{width:96px;height:auto;justify-self:center;margin-bottom:var(--space-2)}.garden-celebrate{position:absolute;inset:0;z-index:6;pointer-events:none}.garden-celebrate span{position:absolute;color:var(--butter);font-size:22px;text-shadow:0 0 8px rgba(248,217,140,.8)}@media (max-width:900px){.illustrated-hero:after{background:linear-gradient(180deg,rgba(255,251,247,.9),rgba(255,251,247,.7) 55%,rgba(255,251,247,.1))}.illustrated-hero-content{padding:var(--space-5)}.illustrated-hero-content h1{font-size:var(--text-2xl)}.map-layout .campus-map{order:-1}.map-locked{display:none}}.sidebar-cat{width:64px;opacity:.9}.loading-flowers{width:56px;height:auto}.admin-queue,.admin-table-wrap,.bounded,.colleges-grid,.compare-panel .admin-table-wrap,.essay-right-rail,.essay-sidebar-groups,.essay-storylines-grid,.essay-version-list,.field-textarea,.library-grid,.research-cards-grid,.research-detail-textarea,.research-results,.snapshot-list,.task-list,.theme-card,.theme-grid{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e3cfc1 transparent}.research-results{max-height:calc(100vh - 120px);padding-right:4px}.theme-grid{max-height:82vh;padding:4px}.theme-card{max-height:640px}.compare-panel .admin-table-wrap{max-height:360px}.essay-storylines-grid{max-height:72vh}.library-grid{max-height:540px;padding-right:4px}.admin-queue{max-height:calc(100vh - 260px);padding-right:4px}.admin-table-wrap{max-height:70vh}.colleges-grid,.research-cards-grid{max-height:78vh;padding:4px}.essay-sidebar-groups{max-height:62vh}.essay-version-list{max-height:280px}.snapshot-list{max-height:60vh}.task-list{max-height:320px}.essay-right-rail{max-height:calc(100vh - 40px);position:-webkit-sticky;position:sticky;top:20px}.field-textarea,.research-detail-textarea{max-height:42vh;resize:vertical}.ps-textarea{height:clamp(420px,62vh,760px);min-height:0;max-height:80vh;resize:vertical;overflow-y:auto}.ps-layout.focus-mode .ps-textarea{height:calc(100vh - 220px);max-height:none}.activity-list,.admin-review-card,.essay-research-item,.feedback-panel,.finding-card,.library-card,.ps-theme,.theme-card{overflow-wrap:anywhere}.app-main{overflow-x:clip}@media (max-width:900px){.admin-queue,.colleges-grid,.essay-right-rail,.research-cards-grid,.research-results,.theme-grid{max-height:70vh}.essay-right-rail{position:static}}.library-groups{display:grid;grid-gap:var(--space-4);gap:var(--space-4);max-height:calc(100vh - 300px);min-height:320px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e3cfc1 transparent;padding-right:4px}.library-groups .library-grid{max-height:none;overflow:visible}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7452ca4a93358909-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e0ecb571b51ea3b5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6e8c7cb283336a9d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_8e3771{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_8e3771{--font-serif:"Fraunces","Fraunces Fallback"}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_231f96{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_231f96{--font-sans:"DM Sans","DM Sans Fallback"}