:root{--ke-ink:#142a24;--ke-paper:#f3efe7;--ke-ivory:#fbf8f2;--ke-sage:#b6c5b6;--ke-coral:#d96c50;--ke-line:rgba(20,42,36,.18)}
.ke-shell{color:var(--ke-ink);font-family:Arial,Helvetica,sans-serif}.ke-entry{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:10vw;padding:7vw;background:radial-gradient(circle at 17% 82%,rgba(182,197,182,.48),transparent 28%),var(--ke-paper)}
.ke-eyebrow,.ke-kicker{font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.ke-eyebrow,.ke-kicker{color:var(--ke-coral)}.ke-intro h1,.ke-dashboard-head h1,.ke-empty h2,.ke-course h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}.ke-intro h1{max-width:760px;margin:28px 0;font-size:clamp(62px,7.2vw,112px);line-height:.92}.ke-intro>p:last-child{max-width:590px;font:400 20px/1.6 Georgia,serif}.ke-login{width:100%;max-width:520px;justify-self:end;padding:52px;background:var(--ke-ivory);border:1px solid var(--ke-line);box-shadow:0 28px 80px rgba(20,42,36,.12)}.ke-login h2{margin:18px 0 38px;font:400 42px/1.06 Georgia,serif}.ke-login label{display:block;margin-top:24px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ke-login input{width:100%;margin-top:10px;padding:17px 0;border:0;border-bottom:1px solid var(--ke-ink);outline:0;background:transparent;color:var(--ke-ink);font:400 17px Georgia,serif}.ke-login input:focus{border-color:var(--ke-coral);box-shadow:0 2px 0 var(--ke-coral)}.ke-login button,.ke-complete{border:0;border-radius:100px;background:var(--ke-ink);color:var(--ke-ivory);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.ke-login button{width:100%;min-height:56px;margin-top:38px;padding:0 25px;display:flex;align-items:center;justify-content:space-between}.ke-help{margin:18px 0 0;font-size:12px;line-height:1.5;text-align:center;opacity:.62}.ke-error{padding:12px 14px;background:#fff1ec;color:#8b2e18;font-size:13px}
.ke-dashboard{min-height:100vh;padding:6vw;background:var(--ke-paper)}.ke-dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--ke-line)}.ke-dashboard-head h1{margin:15px 0 12px;font-size:clamp(50px,6vw,88px)}.ke-dashboard-head p:last-child{font:400 18px Georgia,serif}.ke-dashboard-head>a{padding-bottom:5px;border-bottom:1px solid;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ke-empty{max-width:820px;margin:9vw auto;padding:65px;border:1px solid var(--ke-line);background:var(--ke-ivory);text-align:center}.ke-empty span{color:var(--ke-coral);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.ke-empty h2{margin:24px 0;font-size:52px}.ke-empty p{font:400 17px/1.6 Georgia,serif}.ke-courses{padding-top:60px}.ke-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:26px}.ke-course{padding:38px;background:var(--ke-ivory);border:1px solid var(--ke-line)}.ke-course-top{display:flex;justify-content:space-between;color:var(--ke-coral);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.ke-course h2{margin:34px 0 20px;font-size:38px}.ke-progress{height:3px;background:rgba(20,42,36,.13)}.ke-progress i{display:block;height:100%;background:var(--ke-coral)}.ke-course>p{margin:24px 0;font:400 15px/1.6 Georgia,serif}.ke-lessons{border-top:1px solid var(--ke-line)}.ke-lessons details{border-bottom:1px solid var(--ke-line)}.ke-lessons summary{padding:18px 0;display:flex;gap:12px;cursor:pointer;font:400 17px Georgia,serif}.ke-lessons summary span{color:var(--ke-coral)}.ke-lesson-body{padding:2px 0 24px;font:400 15px/1.6 Georgia,serif}.ke-resource{display:inline-block;margin:10px 18px 10px 0;color:var(--ke-coral);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ke-complete{padding:13px 18px}.ke-complete.is-done{background:var(--ke-sage);color:var(--ke-ink);cursor:default}
@media(max-width:900px){.ke-entry{grid-template-columns:1fr;gap:60px;padding:70px 8vw}.ke-login{justify-self:start}.ke-course-grid{grid-template-columns:1fr}}@media(max-width:600px){.ke-entry,.ke-dashboard{padding:54px 20px 70px}.ke-intro h1{font-size:54px}.ke-login{padding:36px 24px}.ke-dashboard-head{align-items:flex-start;flex-direction:column}.ke-course{padding:26px}.ke-empty{padding:42px 24px}.ke-empty h2{font-size:40px}}
