:root{--ink:#10151c;--paper:#e9edf2;--card:#fff;--ultramarine:#2b4ee6;--muted:#5b6674;--line:#d3dae3;--warn:#b4342a;--notice-ink:#7a5200;--notice-bg:#fdf6e8;--notice-line:#c98a12;--display:"Archivo", system-ui, sans-serif;--body:"Instrument Sans", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;--radius:10px;--ultramarine-deep:#2342c9;--paper-sunk:#e2e7ee;--tint:#2b4ee617;--tint-line:#2b4ee647;--measure:1080px;--gutter:24px}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0}.shell{background-image:repeating-linear-gradient(#0000 0 31px,#10151c09 31px 32px);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:400px;padding:30px 28px 26px;box-shadow:0 1px 2px #10151c0a,0 12px 32px #10151c0f}.panel__head{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.wordmark{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.steps{gap:4px;display:flex}.steps__seg{background:var(--line);border-radius:2px;width:22px;height:3px;transition:background .25s}.steps__seg.is-done{background:var(--ultramarine)}.title{font-family:var(--display);letter-spacing:-.018em;margin:0 0 10px;font-size:25px;font-weight:600;line-height:1.18}.lede{color:var(--muted);margin:0 0 22px;font-size:14.5px;line-height:1.55}.lede strong{color:var(--ink);font-weight:500}.field{margin-bottom:10px;display:block}.field__label{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-size:11px;display:block}.field input{border:1px solid var(--line);width:100%;font-family:var(--body);color:var(--ink);background:#fbfcfd;border-radius:8px;padding:12px 13px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field input:focus-visible{border-color:var(--ultramarine);outline:none;box-shadow:0 0 0 3px #2b4ee629}.input--code{letter-spacing:.34em;text-align:center;font-family:var(--mono)!important;padding:14px 13px!important;font-size:26px!important}.resolve{min-height:22px;font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;font-size:11.5px}.resolve__pending{color:var(--muted);opacity:.75}.resolve__hit{color:var(--ultramarine);align-items:center;gap:6px;animation:.28s cubic-bezier(.2,.8,.3,1) rise;display:inline-flex}.resolve__tick{font-size:13px}.resolve__miss{color:var(--warn)}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.btn{background:var(--ultramarine);color:#fff;width:100%;font-family:var(--display);letter-spacing:.01em;cursor:pointer;border:none;border-radius:8px;padding:13px;font-size:14.5px;font-weight:600;transition:background .15s,transform 80ms}.btn:hover:not(:disabled){background:#2342c9}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;background:#c3cad5}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn--quiet{color:var(--muted);border:1px solid var(--line);background:0 0;margin-top:18px}.btn--quiet:hover:not(:disabled){color:var(--ink);background:#f4f6f9}.link{font-family:var(--body);color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.link:hover:not(:disabled){color:var(--ink)}.link:disabled{cursor:default;opacity:.55;text-decoration:none}.alt{justify-content:center;align-items:center;gap:12px;margin-top:18px;display:flex}.alt__div{background:var(--line);width:1px;height:12px}.error{border-left:2px solid var(--warn);color:var(--warn);background:#fdf3f2;margin:0 0 14px;padding:9px 11px;font-size:13.5px;line-height:1.45}.notice{border-left:2px solid var(--notice-line);background:var(--notice-bg);color:var(--notice-ink);margin:0 0 14px;padding:9px 11px;font-size:13.5px;line-height:1.45}.foot{color:var(--muted);margin:16px 0 0;font-size:12.5px;line-height:1.5}.card{color:#fff;background:linear-gradient(158deg,#171e29 0%,#1f2c45 62%,#23336b 100%);border-radius:8px;padding:22px;position:relative;overflow:hidden}.card:after{content:"";pointer-events:none;background:linear-gradient(118deg,#ffffff21 0%,#fff0 42%);position:absolute;inset:0}.card__top{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.card__brand{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700}.card__badge{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:#ffffff24;border-radius:3px;padding:3px 8px;font-size:9.5px}.card__name{font-family:var(--display);letter-spacing:-.01em;margin:0 0 3px;font-size:21px;font-weight:600}.card__email{font-family:var(--mono);color:#ffffff9e;margin:0 0 18px;font-size:12.5px}.card__uni{color:#ffffffe6;border-top:1px solid #ffffff21;margin:0 0 22px;padding-top:15px;font-size:14px;line-height:1.35}.card__meta{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px;display:grid}.card__meta dt{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#ffffff7a;margin-bottom:4px;font-size:9px}.card__meta dd{text-transform:capitalize;margin:0;font-size:12.5px}.card__serial{font-family:var(--mono);letter-spacing:.04em;color:#ffffff57;word-break:break-all;margin:0;font-size:9.5px}.page{flex-direction:column;min-height:100vh;display:flex}.page__main{flex:auto}.nav__inner,.hero,.strip,.how,.features,.closer,.footer__inner,.footer__fine{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}.section-title{font-family:var(--display);letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(24px,3.4vw,32px);font-weight:600;line-height:1.15}.section-sub{max-width:56ch;color:var(--muted);margin:0 0 34px;font-size:15px;line-height:1.6}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ultramarine);margin:0 0 18px;font-size:11px}.inline-link{color:var(--ultramarine);text-underline-offset:3px;text-decoration:underline}.inline-link:hover{color:var(--ultramarine-deep)}a:focus-visible{outline:2px solid var(--ultramarine);outline-offset:3px;border-radius:3px}.btn--inline{justify-content:center;align-items:center;width:auto;padding:14px 24px;font-size:15px;text-decoration:none;display:inline-flex}.skip{position:absolute;left:-9999px}.skip:focus{z-index:20;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px 14px;font-size:14px;text-decoration:none;position:fixed;top:14px;left:14px}.nav{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#e9edf2e0;position:sticky;top:0}.nav__inner{justify-content:space-between;align-items:center;height:60px;display:flex}.nav__brand{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.nav__link{color:var(--muted);font-size:14px;text-decoration:none}.nav__link:hover{color:var(--ink)}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;padding-block:88px 72px;display:grid}.hero__title{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 18px;font-size:clamp(34px,5.2vw,55px);font-weight:600;line-height:1.06}.hero__lede{max-width:46ch;color:var(--muted);margin:0 0 28px;font-size:clamp(16px,2vw,18px);line-height:1.55}.hero__note{color:var(--muted);margin:14px 0 0;font-size:13px}.hero__visual{justify-content:center;display:flex}.card--specimen{width:100%;max-width:340px;transform:rotate(-1.2deg);box-shadow:0 18px 46px #10151c2e}.strip{border-top:1px solid var(--line);padding-block:40px}.strip__title{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:600}.strip__sub{color:var(--muted);margin:0 0 18px;font-size:14px}.strip__list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.strip__item{background:var(--card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:inline-flex}.strip__name{font-size:14px}.strip__country{border-left:1px solid var(--line);font-family:var(--mono);letter-spacing:.08em;color:var(--muted);padding-left:10px;font-size:10.5px}.strip__pending{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px}.strip__ask{color:var(--muted);margin:16px 0 0;font-size:13.5px}.how{border-top:1px solid var(--line);padding-block:72px}.how__list{grid-template-columns:repeat(3,1fr);gap:28px;margin:34px 0 0;padding:0;list-style:none;display:grid}.how__step{border-top:2px solid var(--ultramarine);padding-top:16px}.how__n{font-family:var(--mono);letter-spacing:.1em;color:var(--ultramarine);font-size:11px;display:block}.how__title{font-family:var(--display);letter-spacing:-.01em;margin:10px 0 8px;font-size:17px;font-weight:600}.how__body{color:var(--muted);margin:0;font-size:14.5px;line-height:1.6}.features{border-top:1px solid var(--line);padding-block:72px}.features__grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.feature__title{font-family:var(--display);letter-spacing:-.01em;margin:12px 0 8px;font-size:16px;font-weight:600}.feature__body{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.tag{border:1px solid var(--line);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);background:#eef1f6;border-radius:3px;padding:4px 8px;font-size:9.5px;display:inline-block}.tag--live{background:var(--tint);border-color:var(--tint-line);color:var(--ultramarine)}.closer{border-top:1px solid var(--line);text-align:center;padding-block:76px}.closer__title{font-family:var(--display);letter-spacing:-.02em;margin:0 0 26px;font-size:clamp(24px,3.6vw,34px);font-weight:600}.footer{border-top:1px solid var(--line);background:var(--paper-sunk);padding-block:40px 48px}.footer__inner{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.footer__line{color:var(--muted);margin:8px 0 0;font-size:13.5px}.footer__links{flex-wrap:wrap;gap:20px;display:flex}.footer__link{color:var(--muted);font-size:13.5px;text-decoration:none}.footer__link:hover{color:var(--ink)}.footer__fine{border-top:1px solid var(--line);color:var(--muted);margin:28px auto 0;padding-top:20px;font-size:13px;line-height:1.55}.panel--wide{max-width:560px}.notice--good{color:var(--ink);background:#eef4ec;border-color:#4c7a45}.accounts{gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.account{border:1px solid var(--line);border-radius:4px;padding:14px 16px}.account__head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.account__provider{font-family:var(--display);margin:0;font-size:15px;font-weight:600}.account__email{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12.5px}.caps{gap:12px;margin:0;padding:12px 0 0;list-style:none;display:grid}.cap{grid-template-columns:18px 1fr;align-items:start;gap:10px;display:grid}.cap__glyph{text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.cap--on .cap__glyph,.cap--stale .cap__glyph{color:var(--ultramarine)}.cap__body{min-width:0}.cap__title{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:14px;font-weight:500;display:flex}.cap__state{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10.5px}.cap--on .cap__state{border-color:var(--ultramarine);color:var(--ultramarine)}.cap--stale .cap__state{border-color:var(--ultramarine);color:var(--ultramarine);font-weight:500}.cap__does{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin:4px 0 0;padding:0;font-size:12.5px;line-height:1.45;list-style:none;display:flex}.cap__does li+li:before{content:"·";color:var(--line);margin-right:10px}.cap__detail{color:var(--muted);margin:4px 0 0;font-size:12.5px;line-height:1.5}.cap--off .cap__title{color:var(--muted)}.account__foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding-top:12px;display:flex}.account__meta{font-family:var(--mono);color:var(--muted);margin:0;font-size:11.5px}@media (width<=620px){.account{padding:12px 13px}}.section{border-top:1px solid var(--line);margin:28px 0 0;padding:22px 0 0}.section__title{font-family:var(--display);letter-spacing:-.01em;margin:0 0 6px;font-size:17px;font-weight:600}.consent{background:var(--notice-bg);border:1px solid var(--notice-line);border-radius:var(--radius);margin:20px 0 4px;padding:20px}.consent__title{font-family:var(--display);letter-spacing:-.01em;margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.2}.consent__body{margin:0 0 12px;font-size:14.5px;line-height:1.6}.consent__steps{margin:0 0 18px;padding-left:20px;font-size:14.5px;line-height:1.7}.consent__message{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}.consent__messagehead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.consent__label{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:11px}.consent__text{resize:vertical;background:var(--card);width:100%;color:var(--ink);font-family:var(--mono);border:0;padding:12px;font-size:12px;line-height:1.55;display:block}.consent__text:focus-visible{outline:2px solid var(--ultramarine);outline-offset:-2px}.consent__fine{color:var(--notice-ink);margin:14px 0 0;font-size:13px;line-height:1.55}.legal{width:100%;max-width:720px;padding-inline:var(--gutter);margin-inline:auto;padding-block:56px 76px}.legal__title{font-family:var(--display);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(28px,4vw,38px);font-weight:600;line-height:1.12}.legal__updated{border-bottom:1px solid var(--line);font-family:var(--mono);color:var(--muted);margin:0 0 32px;padding-bottom:26px;font-size:12px}.legal__lede{font-size:16.5px;line-height:1.6}.legal h2{font-family:var(--display);letter-spacing:-.01em;margin:38px 0 12px;font-size:19px;font-weight:600}.legal p{margin:0 0 14px;font-size:15.5px;line-height:1.65}.legal ul{margin:0 0 14px;padding-left:20px}.legal li{margin-bottom:10px;font-size:15.5px;line-height:1.6}.legal strong{font-weight:600}.next{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.next__title{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:11px;font-weight:400}.next__list{gap:11px;margin:0;padding:0;list-style:none;display:grid}.next__item{align-items:center;gap:10px;display:flex}.next__n{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);font-size:11px}.next__text{flex:auto;font-size:13.5px;line-height:1.45}.shell__back{color:var(--muted);font-size:13.5px;text-decoration:none;position:absolute;top:22px;left:22px}.shell__back:hover{color:var(--ink)}@media (width<=900px){.hero{grid-template-columns:1fr;gap:44px;padding-block:56px 48px}.how__list{grid-template-columns:1fr;gap:24px}.features__grid{grid-template-columns:repeat(2,1fr)}.how,.features{padding-block:56px}}@media (width<=620px){.features__grid{grid-template-columns:1fr}.closer{padding-block:56px}.footer__inner{flex-direction:column;gap:20px}}@media (width<=420px){.panel{padding:24px 20px 22px}.title{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.connect-choices{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex}.connect-choice{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.connect-choice__note{max-width:58ch;color:var(--muted);margin:0;font-size:.9375rem;line-height:1.5}.connect-choice__note code{font-family:var(--font-mono);font-size:.875em}.notice--ask{border-left:3px solid var(--ultramarine,#2b4ee6)}.notice--ask p{max-width:58ch;margin:0 0 .5rem}.notice--ask .btn{margin-top:.5rem}.sem__course{border-top:2px solid var(--ultramarine);margin-top:26px;padding-top:18px}.sem__course-title{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.sem__from-file{font-family:var(--body);color:var(--muted);font-size:13.5px;font-weight:400}.sem__from-file code{font-family:var(--mono);font-size:12.5px}.sem__count{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 0 0;font-size:11px}.sem__items{gap:16px;margin:14px 0 0;padding:0;list-style:none;display:grid}.sem__item{border-left:2px solid var(--line);padding-left:12px}.sem__item--done{opacity:.62}.sem__due{font-family:var(--mono);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:12.5px;display:flex}.sem__title{margin:3px 0 0;font-size:15px;line-height:1.4}.sem__title--absent{color:var(--muted);font-style:italic}.sem__course-tag{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--ultramarine);color:var(--ultramarine);white-space:nowrap;border-radius:3px;padding:1px 7px;font-size:11px}.sem__course-tag--unknown{font-family:var(--body);border-color:var(--line);color:var(--muted);letter-spacing:0}.sem__past-note{border-left:2px solid var(--line);color:var(--muted);margin:0 0 16px;padding:10px 12px;font-size:13px;line-height:1.55}.sem__line{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;line-height:1.5}.sem__next{color:var(--ultramarine);margin:6px 0 0;font-size:12.5px}.sem__flag{font-family:var(--body);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11px}.sem__flag--warn{border-color:var(--ultramarine);color:var(--ultramarine)}.sem__gaps,.sem__empty{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.sem__gap-list{color:var(--muted);gap:10px;margin:12px 0 0;padding-left:18px;font-size:13.5px;line-height:1.55;display:grid}.sem__empty-body{color:var(--muted);margin:10px 0 18px;font-size:14.5px;line-height:1.6}.sem__pending{font-family:var(--mono);color:var(--muted);margin:18px 0 0;font-size:12px}@media (width<=620px){.sem__course{margin-top:22px}.sem__item{padding-left:10px}}
