:root{--teal-900:#0f5f68;--teal-700:#178a96;--teal-500:#2fb5c0;--teal-200:#bfe8ec;--aqua-50:#eefafb;--cream:#fbf8f1;--ink:#3b2f2a;--ink-soft:#6b5e57;--gold:#c9a961;--danger:#b23b3b;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);background-color:var(--aqua-50);background-image:radial-gradient(60% 50% at 0 0,#bfe8ec8c 0%,#0000 70%),radial-gradient(60% 50% at 100% 0,#2fb5c040 0%,#0000 70%),radial-gradient(70% 60% at 100% 100%,#bfe8ec80 0%,#0000 70%),radial-gradient(70% 60% at 0 100%,#0f5f681f 0%,#0000 70%);background-attachment:fixed;margin:0;font:16px/1.5 "Source Sans 3",Georgia,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}a{color:var(--teal-700);text-decoration:none}h1,h2,h3{color:var(--ink);letter-spacing:.01em;font-family:Cormorant Garamond,Georgia,serif}h1{margin:0;font-size:1.9rem;font-weight:700}h2{margin:1.5rem 0 .5rem;font-size:1.5rem;font-weight:700}h3{color:var(--teal-700);margin:1rem 0 .4rem;font-size:1.15rem;font-weight:600}.tagline{font-variant:small-caps;text-transform:lowercase;letter-spacing:.12em;color:var(--teal-700);font-family:"Source Sans 3",system-ui,sans-serif;font-weight:600}code{background:var(--teal-200);color:var(--ink);border-radius:4px;padding:.1em .35em;font-size:.9em}.muted{color:var(--ink-soft)}.error{color:var(--danger)}.page{max-width:1100px;margin:0 auto;padding:1.25rem 1.5rem 3rem}.center{place-items:center;min-height:100vh;padding:1rem;display:grid}.card{background:var(--cream);border:1px solid var(--teal-200);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:0 4px 18px #0f5f6814}.topbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.topbar h1{flex:1}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.between{justify-content:space-between}button,.button{background:var(--cream);color:var(--ink);border:1px solid var(--teal-200);font:inherit;cursor:pointer;border-radius:8px;padding:.55rem 1rem;display:inline-block}button:hover,.button:hover{border-color:var(--teal-500)}button:disabled{opacity:.6;cursor:default}.primary{background:var(--teal-700);color:#fff;border-color:var(--teal-700);font-weight:600}.primary:hover{background:var(--teal-900);border-color:var(--teal-900)}.big{border-radius:10px;padding:.8rem 1.4rem;font-size:1.25rem}.hero{aspect-ratio:1024/525;border-radius:var(--radius);background:url(/cover.jpg) center/cover no-repeat, linear-gradient(160deg, var(--teal-500), var(--teal-900));width:100%;max-width:560px;margin:0 auto 1.25rem;box-shadow:0 10px 30px #0f5f6840}.banner{background:url(/cover.jpg) center 40% / cover no-repeat, linear-gradient(160deg, var(--teal-500), var(--teal-900));align-items:flex-end;height:180px;margin:-1.25rem -1.5rem 1.25rem;display:flex;position:relative}.banner:after{content:"";background:linear-gradient(to top, var(--aqua-50) 0%, #eefafb59 55%, transparent 100%);position:absolute;inset:0}.banner .topbar{z-index:1;align-items:center;width:100%;margin:0;padding:0 1.5rem 1rem;position:relative}.banner h1{color:var(--ink);text-shadow:0 1px 12px #fbf8f199}.banner.short{height:100px}.banner .pill{border:1px solid var(--teal-200);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fbf8f1d9;border-radius:999px;align-items:center;gap:.75rem;padding:.4rem .9rem;display:flex}.resume{background:var(--teal-200);border-color:var(--teal-500);flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.lessons{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.lesson{background:var(--cream);color:var(--ink);border:1px solid var(--teal-200);border-radius:8px;grid-template-columns:2.2rem 1fr auto 3rem;align-items:center;gap:.75rem;padding:.7rem .9rem;display:grid}.lesson:hover{border-color:var(--teal-500)}.lesson .num{background:var(--teal-200);width:1.8rem;height:1.8rem;color:var(--teal-900);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:600;display:grid}.lesson .dur{color:var(--ink-soft);font-variant-numeric:tabular-nums}.lesson .state{text-align:right;color:var(--teal-700);font-variant-numeric:tabular-nums}li.done .lesson .name{color:var(--ink-soft)}li.done .lesson .state{color:var(--gold)}.video-wrap{border-radius:var(--radius);aspect-ratio:16/9;background:#000;margin-bottom:1rem;overflow:hidden;box-shadow:0 6px 24px #0f5f682e}.video-wrap video{width:100%;height:100%;display:block}.video-placeholder{place-items:center;height:100%;display:grid}.login{gap:1rem;width:100%;max-width:360px;display:grid}.login h1{font-size:1.5rem}.login label{color:var(--ink-soft);gap:.35rem;font-size:.9rem;display:grid}.login input[type=text],.login input[type=password]{font:inherit;color:var(--ink);border:1px solid var(--teal-200);background:#fff;border-radius:8px;padding:.6rem .75rem}.login input:focus{border-color:var(--teal-500);outline:none;box-shadow:0 0 0 3px #2fb5c040}.checkbox-row{flex-direction:row;align-items:center;gap:.5rem;color:var(--ink)!important;display:flex!important}.checkbox-row input{width:auto}.table{border-collapse:collapse;background:var(--cream);border:1px solid var(--teal-200);border-radius:var(--radius);width:100%;margin:1rem 0;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--teal-200);padding:.6rem .75rem}.table th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-size:.85rem;font-weight:600}.table input[type=password]{font:inherit;color:var(--ink);border:1px solid var(--teal-200);background:#fff;border-radius:8px;padding:.4rem .6rem}.badge{background:var(--teal-700);color:#fff;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}@media (width<=640px){.page{padding:1rem}.banner{height:120px;margin:-1rem -1rem 1rem}.banner.short{height:90px}.banner .topbar{flex-direction:column;align-items:flex-start;padding:0 1rem .75rem}.lesson{grid-template-columns:2rem 1fr auto}.lesson .dur,.lesson .state{display:none}}
