.portal-page{min-height:100vh}.portal-header{width:min(100%,70rem);margin-inline:auto;padding:1rem clamp(1rem,4vw,2rem)}.portal-brand{min-height:2.75rem;color:var(--color-ink);align-items:center;gap:.65rem;font-weight:800;text-decoration:none;display:inline-flex}.portal-brand__mark{border:2.5px solid var(--color-ink);background:var(--color-accent);color:#fff8f0;width:2.8rem;height:2.8rem;font-family:var(--font-hand);border-radius:42% 58% 55% 45%;place-items:center;font-size:.9rem;display:inline-grid;transform:rotate(-3deg)}.portal-main{align-items:center;width:min(100%,70rem);min-height:calc(100vh - 5rem);margin-inline:auto;padding:clamp(2rem,7vw,6rem) clamp(1rem,4vw,2rem);display:grid}.portal-hero{align-items:center;gap:clamp(2rem,7vw,5rem);display:grid}.portal-kicker{color:var(--color-accent-dark);margin-bottom:.75rem;font-size:clamp(1rem,3vw,1.2rem)}.portal-copy h1,.sign-in-card h1,.course-home__intro h1{font-family:var(--font-hand);letter-spacing:0;text-wrap:balance;margin-bottom:1rem;font-size:clamp(2.45rem,10vw,5rem);font-weight:400;line-height:1}.portal-lead,.course-home__intro>p{max-width:42rem;color:var(--color-muted);margin-bottom:1.4rem;font-size:clamp(1.08rem,3vw,1.3rem);line-height:1.55}.portal-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.portal-actions .button{min-height:3.25rem;padding-inline:1.4rem}.portal-secondary{min-height:2.75rem;color:var(--color-ink);padding:.65rem .4rem;font-weight:750}.portal-note{max-width:38rem;color:var(--color-muted);margin:1.1rem 0 0;font-size:.9rem}.portal-preview{border:2.5px solid var(--color-ink);background:var(--color-surface);max-width:28rem;box-shadow:6px 6px 0 var(--color-ink);border-radius:1rem;justify-self:center;padding:clamp(1.2rem,5vw,2rem);position:relative;transform:rotate(1deg)}.portal-preview:before{border:2px solid var(--color-ink);background:var(--color-yellow);content:"7 modules · 13 lessons";border-radius:999px;padding:.15rem .75rem;font-size:.78rem;font-weight:800;position:absolute;top:-.8rem;left:1.2rem;transform:rotate(-3deg)}.portal-preview h2{margin:.6rem 0 .9rem;font-size:1.5rem;line-height:1.15}.portal-preview ol{margin:0;padding-left:1.3rem}.portal-preview li+li{margin-top:.7rem}.portal-preview p{color:var(--color-muted);margin:1rem 0 0;font-size:.92rem}.sign-in-wrap{width:min(100%,32rem);margin-inline:auto}.sign-in-card{border:2.5px solid var(--color-ink);background:var(--color-surface);box-shadow:5px 5px 0 var(--color-ink);border-radius:1rem;padding:clamp(1.35rem,6vw,2.25rem)}.sign-in-card h1{font-size:clamp(2.2rem,9vw,3.5rem)}.sign-in-card>p{color:var(--color-muted)}.sign-in-form{gap:.65rem;margin-top:1.4rem;display:grid}.sign-in-form label{font-weight:800}.sign-in-form input{border:2.5px solid var(--color-ink);background:#fff;border-radius:.7rem;width:100%;min-height:3.25rem;padding:.7rem .85rem;font-size:1rem}.sign-in-form .button{margin-top:.35rem}.form-message{border:2px solid var(--color-ink);background:var(--color-yellow-soft);border-radius:.7rem;margin-bottom:1.2rem;padding:.85rem 1rem;font-weight:650;color:var(--color-ink)!important}.form-message--error{border-color:var(--color-accent-dark);background:#fbe2d8}.sign-in-help{margin-top:1.2rem;font-size:.9rem}.course-home{width:min(100%,58rem);padding:clamp(2rem, 7vw, 5rem) max(1rem, env(safe-area-inset-right)) calc(5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));margin-inline:auto}.course-home__top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(2rem,6vw,4rem);display:flex}.course-home__account{color:var(--color-muted);font-size:.85rem}.text-button{min-height:2.75rem;color:var(--color-ink);text-underline-offset:.18em;background:0 0;border:0;padding:.45rem;font-weight:750;text-decoration:underline}.course-home__intro h1{max-width:14ch}.course-home__primary{margin-top:1.25rem}.course-home__progress{border:2px solid var(--color-ink);background:var(--color-yellow-soft);border-radius:.9rem;grid-template-columns:1fr auto;align-items:end;gap:.8rem 1rem;margin-top:clamp(2.5rem,8vw,4.5rem);padding:1rem 1.1rem;display:grid;box-shadow:4px 4px #1a1a1a1f}.course-home__progress-label{color:var(--color-accent-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .15rem;font-size:.75rem;font-weight:850}.course-home__progress h2{margin:0;font-size:clamp(1.1rem,4vw,1.35rem)}.course-home__progress>strong{font-size:1.15rem}.course-home__progress progress{background:var(--color-surface);width:100%;height:.65rem;color:var(--color-green);border:0;border-radius:999px;grid-column:1/-1;overflow:hidden}.course-home__progress progress::-webkit-progress-bar{background:var(--color-surface);border-radius:999px}.course-home__progress progress::-webkit-progress-value{background:var(--color-green);border-radius:999px}.course-home__progress progress::-moz-progress-bar{background:var(--color-green);border-radius:999px}.module-list{gap:1.2rem;margin-top:1.5rem;display:grid}.module-card{border:1px solid var(--color-border);background:#fffdf8ad;border-radius:1rem;overflow:hidden}.module-card__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.module-card__header p{color:var(--color-accent-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .15rem;font-size:.74rem;font-weight:850}.module-card__header h2{margin:0;font-size:clamp(1.15rem,4vw,1.45rem);line-height:1.2}.module-card__header>span{background:var(--color-surface-soft);min-width:2.8rem;min-height:2.8rem;color:var(--color-muted);border-radius:50%;place-items:center;font-size:.82rem;font-weight:850;display:grid}.lesson-list{gap:.8rem;margin:clamp(2.5rem,8vw,5rem) 0 0;padding:0;list-style:none;display:grid}.module-card .lesson-list{gap:0;margin:0;padding:.55rem}.module-card .lesson-list li+li{margin-top:.35rem}.module-card .lesson-list__link{box-shadow:none;border-color:#0000}.module-card .lesson-list__link:hover{border-color:var(--color-ink)}.lesson-list__link{border:2px solid var(--color-ink);background:var(--color-surface);min-height:5rem;color:var(--color-ink);border-radius:.9rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.9rem 1rem;text-decoration:none;display:grid;box-shadow:3px 3px #1a1a1a1f}.lesson-list__link:hover{box-shadow:4px 4px 0 var(--color-ink);transform:translate(-1px,-1px)}.lesson-list__number{background:var(--color-surface-soft);border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;font-weight:850;display:grid}.lesson-list__copy strong,.lesson-list__copy small{display:block}.lesson-list__copy small{color:var(--color-muted);margin-top:.2rem}.lesson-list__status{color:var(--color-green);font-weight:850}.certification-card{border:2.5px solid var(--color-ink);background:var(--color-blue-soft);box-shadow:5px 5px 0 var(--color-ink);border-radius:1rem;grid-template-columns:auto 1fr;gap:1rem;margin-top:clamp(2.5rem,8vw,4.5rem);padding:clamp(1.2rem,5vw,2rem);display:grid}.certification-card.is-locked{background:var(--color-surface-soft);box-shadow:4px 4px #1a1a1a29}.certification-card__mark{border:2px solid var(--color-ink);background:var(--color-green);color:#fff;border-radius:50%;place-items:center;width:2.8rem;height:2.8rem;font-size:1.2rem;font-weight:900;display:grid}.certification-card h2{max-width:24ch;margin:0 0 .65rem;font-size:clamp(1.45rem,5vw,2rem);line-height:1.08}.certification-card p:not(.portal-kicker){max-width:52ch;color:var(--color-muted)}.certification-card .button{margin-top:.8rem}.certification-card__locked-note{margin-top:.8rem;font-weight:750}@media (width>=48rem){.portal-hero{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}}@media (width<=35rem){.portal-actions,.portal-actions .button{width:100%}.portal-secondary{text-align:center;width:100%}.course-home__top{align-items:flex-start}.course-home__account{max-width:12rem}}
