:root{color:#102b2b;background:#f7f4ee;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #102b2b;--muted: #60716f;--line: #d8e0dc;--surface: #fffdf9;--soft: #eef5f1;--accent: #287b74;--accent-dark: #1d625d;--shadow: 0 22px 60px rgba(24, 60, 56, .12)}*{box-sizing:border-box}html{min-width:320px;background:#f7f4ee}body{margin:0;min-width:320px;min-height:100vh;background:#f7f4ee}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{min-height:44px}a{color:inherit}.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink)}.brand__mark{display:grid;width:2.35rem;height:2.35rem;place-items:center;flex:0 0 auto}.brand__mark img{display:block;width:100%;height:100%;object-fit:contain}.brand__copy{display:grid;line-height:1.08}.brand__copy strong{font-size:.95rem;letter-spacing:-.015em}.brand__copy small{margin-top:.25rem;color:var(--muted);font-size:.68rem}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.8rem;cursor:pointer;font-weight:700;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.primary-button{border:1px solid var(--accent);padding:.72rem 1rem;color:#fff;background:var(--accent);box-shadow:0 10px 25px #287b742e}.primary-button:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-1px)}.secondary-button{border:1px solid var(--line);padding:.72rem 1rem;color:var(--ink);background:#ffffffb3}.secondary-button:hover{border-color:#aebdb8;background:#fff}.text-button{border:0;padding:.5rem .65rem;color:var(--accent-dark);background:transparent}.landing-page{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 80% 15%,rgba(95,166,157,.12),transparent 29rem),linear-gradient(145deg,#fbfaf6,#f4f7f3)}.landing-ripples{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.landing-ripples span{position:absolute;width:26rem;aspect-ratio:1;border:1px solid rgba(40,123,116,.09);border-radius:50%}.landing-ripples span:nth-child(1){left:-9rem;top:-13rem}.landing-ripples span:nth-child(2){right:9%;bottom:-18rem;width:34rem}.landing-ripples span:nth-child(3){right:-10rem;top:25%;width:23rem}.landing-header,.landing-hero,.landing-footer{position:relative;z-index:1;width:min(1180px,calc(100% - 3rem));margin-inline:auto}.landing-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0}.landing-header__account-actions{display:flex;align-items:center;gap:.45rem}.landing-header__signup{min-height:42px;padding:.55rem .85rem}.landing-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(28rem,1.05fr);gap:clamp(3rem,7vw,7rem);align-items:center;min-height:calc(100vh - 11rem);padding:3.3rem 0 4rem}.landing-hero__copy{max-width:37rem}.landing-kicker,.eyebrow{display:inline-flex;align-items:center;gap:.42rem;color:var(--accent-dark);font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.landing-hero h1{margin:1rem 0;max-width:12ch;color:var(--ink);font-size:clamp(2.65rem,5vw,5rem);line-height:.98;letter-spacing:-.06em}.landing-hero__copy>p:not(.landing-trust){max-width:57ch;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.7}.landing-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.7rem}.landing-actions>button{min-height:50px;padding-inline:1.15rem}.landing-trust{display:flex;align-items:center;gap:.45rem;margin:.85rem 0 0!important;color:var(--muted);font-size:.78rem!important}.landing-benefits{display:grid;gap:.35rem;margin:1.8rem 0 0;padding:0;list-style:none}.landing-benefits li{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem 0;border-top:1px solid rgba(38,83,77,.1)}.landing-benefits li>svg{margin-top:.15rem;color:var(--accent);flex:0 0 auto}.landing-benefits li span{display:grid;gap:.2rem}.landing-benefits li strong{font-size:.9rem}.landing-benefits li small{color:var(--muted);line-height:1.45}.landing-invite-note{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:1rem;padding:.75rem;border:1px solid #cfe2dc;border-radius:.8rem;background:#eff8f4}.landing-invite-note span{display:grid;gap:.12rem}.landing-invite-note small{color:var(--muted)}.landing-preview{position:relative;max-width:37rem;margin-left:auto}.landing-preview__window{overflow:hidden;border:1px solid rgba(34,83,75,.18);border-radius:1.3rem;background:#fffdf9eb;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing-preview__topbar{display:flex;align-items:center;justify-content:space-between;min-height:3rem;padding:0 1rem;border-bottom:1px solid var(--line);background:#f4f8f5e6}.landing-preview__topbar>span{display:flex;gap:.3rem}.landing-preview__topbar i{display:block;width:.48rem;height:.48rem;border-radius:50%;background:#b8c9c4}.landing-preview__topbar small{color:var(--muted);font-weight:700}.landing-preview__body{padding:clamp(1.15rem,3vw,2rem)}.landing-preview__greeting h2{margin:.5rem 0 .3rem;font-size:clamp(1.45rem,3vw,2rem);letter-spacing:-.035em}.landing-preview__greeting p{margin:0;color:var(--muted)}.landing-task-card{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;margin-top:1.35rem;padding:1rem;border-radius:1rem;color:#fff;background:#164d49}.landing-task-card__number{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;color:#164d49;background:#dff0e9;font-weight:800}.landing-task-card div{display:grid;gap:.2rem}.landing-task-card small,.landing-task-card div>span{color:#c8e3dc;font-size:.72rem}.landing-preview__week{margin-top:1.4rem}.landing-preview__section-title{display:flex;justify-content:space-between;margin-bottom:.7rem;color:var(--muted);font-size:.75rem}.landing-preview__section-title span{display:inline-flex;gap:.4rem;align-items:center;color:var(--ink);font-weight:700}.landing-day-row{display:grid;grid-template-columns:3rem 1fr 3.5rem;gap:.65rem;align-items:center;min-height:2.2rem;font-size:.74rem}.landing-day-row>span{overflow:hidden;height:.38rem;border-radius:999px;background:#e5ece8}.landing-day-row i{display:block;height:100%;border-radius:inherit;background:#6aa49a}.landing-day-row small{color:var(--muted);text-align:right}.landing-preview__subjects{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.landing-preview__subjects>span{padding:.38rem .6rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.72rem;font-weight:700}.landing-preview__subjects small{display:inline-flex;align-items:center;gap:.3rem;width:100%;margin-top:.4rem;color:var(--muted)}.landing-preview>p{display:flex;align-items:center;justify-content:center;gap:.4rem;color:var(--muted);font-size:.75rem}.landing-footer{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 1.5rem;border-top:1px solid rgba(38,83,77,.1);color:var(--muted);font-size:.75rem}.landing-footer>span:last-child{display:flex;gap:1rem}.loading-screen,.fatal-error{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:1rem;padding:2rem;text-align:center}.loading-screen p,.fatal-error p{max-width:34rem;margin:0;color:var(--muted);line-height:1.6}.spin{animation:public-spin .8s linear infinite}@keyframes public-spin{to{transform:rotate(360deg)}}@media(max-width:880px){.landing-hero{grid-template-columns:1fr;min-height:auto;gap:2.5rem;padding-top:4rem}.landing-hero__copy{max-width:none}.landing-preview{width:100%;max-width:42rem;margin-inline:auto}}@media(max-width:600px){.landing-header,.landing-hero,.landing-footer{width:min(100% - 1.5rem,1180px)}.landing-header{padding-top:.8rem}.brand__copy small,.landing-header__signup{display:none}.landing-hero{gap:2rem;padding:2.4rem 0 3rem}.landing-hero h1{max-width:none;font-size:clamp(2.35rem,12vw,3.4rem)}.landing-actions{display:grid}.landing-actions>button{width:100%}.landing-benefits li small{max-width:34ch}.landing-preview__body{padding:1rem}.landing-task-card{grid-template-columns:auto 1fr}.landing-task-card>svg{display:none}.landing-footer{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.course-check{display:flex;flex-direction:column;padding:26px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.course-check--loading{min-height:232px}.course-check__title{margin:0;font-size:1.24rem;letter-spacing:-.01em}.course-check__sub{margin:7px 0 16px;color:var(--muted);font-size:.88rem}.course-check__field{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--muted)}.course-check__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #287b7429}.course-check__field input{flex:1;min-width:0;border:0;background:none;padding:0;color:var(--ink);font:inherit;font-size:.95rem}.course-check__field input:focus{outline:none}.course-check__field input::-webkit-search-cancel-button{cursor:pointer}.course-check__results{margin-top:14px}.course-check__results ul{list-style:none;margin:0;padding:0}.course-check__results li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);color:var(--accent)}.course-check__results li:last-child{border-bottom:0}.course-check__results li>span{min-width:0;display:grid;gap:1px}.course-check__results strong{color:var(--ink);font-size:.92rem}.course-check__results small{color:var(--muted);font-size:.78rem}.course-check__go{width:100%;justify-content:center;margin-top:14px}.course-check__none{margin:4px 0 0;color:var(--muted);font-size:.88rem}.course-check__boards{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 0;padding:0}.course-check__boards li{padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--muted);font-size:.76rem;font-weight:700}.landing-ripples{opacity:.4}@media(max-width:720px){.course-check{padding:20px 18px}.course-check__title{font-size:1.12rem}}
