:root{--ease-out:cubic-bezier(.23,1,.32,1)}
.bar .wrap{min-height:64px}.bar .brand{font-size:16px}.bar-progress{position:absolute;bottom:-1px;inset-inline:0;height:3px;overflow:hidden}.bar-progress span{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transition:transform .3s var(--ease-out)}[dir=rtl] .bar-progress span{transform-origin:100% 50%}
.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.part{margin-bottom:64px}.part h2{border-bottom:1px solid var(--line);padding-bottom:18px}.card{position:relative;overflow:hidden}.card-preview{width:100%;aspect-ratio:1080/608;object-fit:cover;border-radius:10px;margin-bottom:12px;background:var(--bg);pointer-events:none}.card .num{font-family:'JetBrains Mono',monospace}.card h3{font-size:18px}a.card:hover{box-shadow:0 12px 26px rgba(58,43,31,.07);border-color:#cfaa98}a.card:active{transform:scale(.985)}.resume{display:inline-block;padding:12px 18px;border:1px solid #cfaa98;border-radius:12px;margin-top:24px;color:var(--accent-d);text-decoration:none;font-weight:600}.completed-label{display:block;color:var(--ok);font-size:12px;margin-top:12px}.completed{border-color:#bccfc0!important}
.lesson-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:48px;align-items:start;padding-top:46px}.step-rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:4px}.step-rail button{display:flex;gap:12px;align-items:baseline;border:0;background:transparent;border-radius:11px;padding:12px 14px;text-align:start;font:500 14px Heebo,sans-serif;color:var(--soft);cursor:pointer}.step-rail button:hover{background:#f2ede4}.step-rail button[aria-current]{background:#f7ece4;color:var(--accent-d);font-weight:600}.chip-num{font:12px 'JetBrains Mono',monospace;color:#aaa194}.chip-check{display:none;margin-inline-start:auto}.done .chip-check{display:inline;color:var(--accent)}.done{opacity:.7}.lesson-col{min-width:0}.lesson-col .chapter{padding:0 0 22px;border:0}.lesson-col .chapter h1{font-size:clamp(28px,3.6vw,40px)}.step-status{color:var(--accent-d);font-size:13px;margin:0 0 24px}.lesson-step{animation:fade-step .22s var(--ease-out)}.lesson-step[hidden]{display:none}.lesson-step h2.sec{margin-top:0}.lesson-step li{font-size:17px;line-height:1.85}.media-slot{background:transparent;padding:0;border:0}.media-slot:not(:has(video)){padding:22px;background:#efece5;border:1px dashed #cfc8bb}.media-slot video{display:block;width:100%;border-radius:16px;box-shadow:0 18px 44px rgba(57,41,28,.12)}.step-actions{display:flex;justify-content:space-between;gap:16px;padding-top:24px;margin-top:32px;border-top:1px solid var(--line)}.step-actions button{font:600 15px Heebo,sans-serif;border:1px solid #d7cfc3;border-radius:14px;padding:14px 22px;background:var(--paper);color:var(--ink);cursor:pointer;transition:transform .14s var(--ease-out),background .15s}.step-actions .next{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 8px 20px rgba(170,86,60,.2)}.step-actions button:active{transform:scale(.97)}.step-actions button:disabled{opacity:.4;cursor:default}.pager{margin:26px 0 56px}.quiz{padding:24px;border-radius:16px}.quiz label{transition:background .2s,border-color .2s,transform .14s}.quiz label:has(input:checked){background:#f7ece4;border-color:#b65d42}.quiz label:active{transform:scale(.99)}.fb{animation:fade-step .25s}.celebration{position:relative;text-align:center;padding:24px;overflow:hidden;margin-top:18px}.celebration>span{display:inline-flex;background:var(--ok);color:white;border-radius:50%;width:56px;height:56px;align-items:center;justify-content:center;font-size:34px;animation:pop .35s var(--ease-out)}.celebration p{margin:14px 0 0;color:var(--ok)}.celebration i{position:absolute;left:50%;top:46px;width:6px;height:12px;background:var(--accent);animation:confetti 1s var(--ease-out) both}.celebration i:nth-child(even){background:#cfaa98}.celebration i:nth-child(3n){background:var(--ok)}
@keyframes fade-step{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes pop{from{transform:scale(.3)}to{transform:scale(1)}}@keyframes confetti{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--x),120px) rotate(var(--r));opacity:0}}
@media(max-width:1023px){.lesson-layout{display:block;padding-top:26px}.step-rail{position:static;flex-direction:row;overflow:auto;gap:3px;margin-bottom:28px;scrollbar-width:none}.step-rail button{white-space:nowrap;flex:none;padding:10px}.step-actions{position:sticky;bottom:0;background:rgba(248,246,241,.96);backdrop-filter:blur(14px);padding:14px 0;z-index:40}.step-actions .next{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.hero{padding-block:52px!important}.wrap{padding-inline:20px}.step-actions button{padding:12px 15px;font-size:14px}.bar .brand{font-size:14px}.lesson-step li{font-size:16px}.lesson-col .chapter h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.video-cap{font-size:13px;color:var(--soft);line-height:1.5;margin:12px 0 0;text-align:start}
.welcome-course{padding-bottom:40px}.course-welcome{max-width:650px;margin:0 0 36px;font-size:21px;color:var(--soft)}.course-part{margin:0 0 26px;background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden}.part-intro{padding:34px 36px}.part-icon{font:12px 'JetBrains Mono',monospace;color:var(--accent-d);letter-spacing:.1em}.course-part h2{border:0;padding:0;margin:12px 0 14px;font-size:28px}.part-intro p{max-width:660px;font-size:17px;line-height:1.8}.start-path{display:inline-flex;align-items:center;gap:20px;margin-top:24px;padding:12px 22px;background:var(--accent);color:#fff;text-decoration:none;border-radius:12px;font-weight:600}.start-path span{opacity:.7;font:12px 'JetBrains Mono',monospace}.part-count{display:block;margin-top:16px;color:var(--soft);font-size:13px}.chapter-drawer{border-top:1px solid var(--line)}.chapter-drawer summary{display:flex;align-items:center;justify-content:space-between;padding:18px 36px;cursor:pointer;font-size:15px;font-weight:600;list-style:none}.chapter-drawer summary::-webkit-details-marker{display:none}.chapter-drawer summary span{font-size:25px;color:var(--accent)}.chapter-drawer[open] summary span{transform:rotate(45deg)}.chapter-drawer .grid{margin:0;padding:6px 24px 24px}.chapter-drawer .card{background:var(--bg)}.chapter-drawer summary:focus-visible,.start-path:focus-visible{outline:3px solid #cfaa98;outline-offset:3px}.hero{padding-block:64px 38px!important}.hero h1{font-size:clamp(34px,4.8vw,56px)}
@media(max-width:640px){.course-welcome{font-size:18px;margin-bottom:24px}.part-intro{padding:24px}.course-part h2{font-size:24px}.part-intro p{font-size:16px}.chapter-drawer summary{padding:16px 24px}.chapter-drawer .grid{padding:0 14px 18px}.course-part{border-radius:20px}.hero{padding-block:40px 28px!important}.part-count{font-size:12px}}
