#availability-course{--paper:oklch(98% .009 88);--ink:oklch(26% .024 65);--muted:oklch(46% .022 65);--line:oklch(84% .018 80);--honey:oklch(84% .12 84);--honey-light:oklch(95% .052 86);--green:oklch(35% .047 162);--green-light:oklch(94% .03 153);--blue:oklch(49% .17 263);--red:oklch(43% .12 34);--white:oklch(99.5% .004 85);--serif:'Spectral',Georgia,serif;--sans:'Hanken Grotesk',system-ui,sans-serif;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}
#availability-course,#availability-course *{box-sizing:border-box}
#availability-course .course-main{max-width:1264px;margin:auto;padding:32px 48px 48px}
#availability-course p,#availability-course li,#availability-course dd,#availability-course blockquote{font-size:var(--body-size,18px);line-height:var(--body-lh,1.65);color:var(--body-ink,var(--ink))}
#availability-course p{margin:0 0 18px;max-width:72ch}
#availability-course h2{font:400 34px/1.2 var(--serif);letter-spacing:-.5px;text-wrap:balance;margin:0 0 20px}
#availability-course h3{font:600 21px/1.35 var(--sans);margin:24px 0 12px}
#availability-course .explainer{max-width:850px;padding-bottom:30px}
#availability-course .explainer ul{padding-left:24px;margin:0 0 22px}
#availability-course .explainer li{margin:10px 0}
#availability-course a{color:var(--green);text-underline-offset:3px;overflow-wrap:anywhere}
#availability-course button,#availability-course input,#availability-course textarea{font:inherit;color:inherit;touch-action:manipulation}
#availability-course button,#availability-course summary{cursor:pointer;min-height:44px}
#availability-course button:disabled{cursor:default}
#availability-course :is(button,input,textarea,summary,a):focus-visible{outline:3px solid var(--blue);outline-offset:4px}
#availability-course #lesson{scroll-margin-top:90px}
#availability-course #lesson:focus{outline:none}
#availability-course .small,#availability-course .small p{font-size:14px;line-height:1.5;color:var(--muted)}
#availability-course .passport{border-top:1px solid var(--line);margin-top:8px}
#availability-course summary{padding:14px 0;font-weight:600}
#availability-course .passport summary{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;list-style:none}
#availability-course .passport summary::-webkit-details-marker{display:none}
#availability-course .passport summary>span:last-child:after{content:' +';color:var(--green)}
#availability-course .passport[open] summary>span:last-child:after{content:' −'}
#availability-course .stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:8px 0 18px}
#availability-course .stamp{border:1px dashed var(--line);border-radius:8px;padding:14px 8px;text-align:center;color:var(--muted)}
#availability-course .stamp.earned{background:var(--honey-light);border-style:solid;border-color:var(--honey);color:var(--ink)}
#availability-course .stamp>span{display:block;font-size:26px;color:var(--green)}
#availability-course .stamp strong{display:block;font-size:13px;line-height:1.35;margin-bottom:6px}
#availability-course .stamp small{font-size:12px}
#availability-course .chapter-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:6px 0 24px}
#availability-course .chapter{display:flex;align-items:center;gap:9px;text-align:left;border:0;border-bottom:2px solid var(--line);padding:13px 5px;background:transparent;color:var(--muted);font-size:14px;line-height:1.35;min-width:0}
#availability-course .chapter>span{font-size:13px;font-weight:700;color:var(--green)}
#availability-course .chapter.active{color:var(--green);border-color:var(--green);font-weight:700}
#availability-course .chapter:disabled{opacity:.58}
#availability-course .chapter:not(:disabled):hover{background:var(--honey-light)}
#availability-course .lesson-grid{display:grid;grid-template-columns:1fr 1.12fr;border:1px solid var(--line);border-radius:16px;overflow:clip;background:var(--white);align-items:start;box-shadow:0 6px 0 -3px var(--paper),0 7px 0 -3px var(--line)}
#availability-course .scene{background:var(--honey-light);align-self:stretch;min-width:0}
#availability-course .scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
#availability-course .scene-caption{padding:28px 30px 32px}
#availability-course .scene-caption h3{font:400 30px/1.2 var(--serif);margin:12px 0 14px}
#availability-course .eyebrow,#availability-course .kicker{font:700 12px/1.5 var(--sans);letter-spacing:1.3px;color:var(--green)}
#availability-course .panel{padding:32px;min-width:0}
#availability-course fieldset{border:0;margin:22px 0;padding:0;min-width:0}
#availability-course legend,#availability-course label{font-weight:600;display:block;margin:12px 0 8px}
#availability-course legend{padding:0}
#availability-course .radio-row{display:flex;gap:12px;align-items:center;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-weight:400;margin:8px 0}
#availability-course .radio-row:has(:checked){background:var(--honey-light);border-color:var(--green)}
#availability-course input[type=radio]{width:20px;height:20px;min-width:20px;accent-color:var(--green);margin:0}
#availability-course input[type=number],#availability-course textarea{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--paper);font-size:18px}
#availability-course input[type=number]{max-width:180px;font-variant-numeric:tabular-nums}
#availability-course textarea{resize:vertical;margin:12px 0}
#availability-course input:disabled{opacity:.8}
#availability-course .btn{display:flex;justify-content:center;align-items:center;width:100%;min-height:49px;border:1px solid var(--honey);border-radius:8px;background:var(--honey);padding:12px 18px;font-weight:600;box-shadow:0 3px 0 oklch(67% .12 80);transition:background .18s ease-out,transform .18s ease-out;margin-top:18px}
#availability-course .btn:hover{background:oklch(80% .13 84)}
#availability-course .btn:active{transform:translateY(1px)}
#availability-course .btn.secondary{background:transparent;border-color:var(--line);box-shadow:none}
#availability-course .choices{display:grid;gap:10px;margin:18px 0}
#availability-course .choice{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);line-height:1.5;min-width:0}
#availability-course .choice-letter{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-size:12px;font-weight:700}
#availability-course .choice:hover:not(:disabled){background:var(--honey-light);border-color:var(--green)}
#availability-course .choice.correct{background:var(--green-light);border-color:var(--green)}
#availability-course .choice.retry{border-color:var(--red)}
#availability-course .choice:disabled{opacity:1}
#availability-course .choice:disabled:not(.correct){color:var(--muted)}
#availability-course .feedback,#availability-course .finding{padding:16px;background:var(--green-light);border-radius:8px;margin:18px 0}
#availability-course .feedback.wrong{background:var(--honey-light)}
#availability-course .reward{display:block;font:600 14px/1.5 var(--sans);color:var(--green);margin-top:8px}
#availability-course .finding p:last-child{margin-bottom:0}
#availability-course #estimate-error{color:var(--red)}
#availability-course .quiz{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
#availability-course .quiz h3{margin-top:0}
#availability-course .quiz>.small{margin-bottom:10px}
#availability-course .results h3{margin-top:28px}
#availability-course .estimate-copy{font-style:italic}
#availability-course .count-bars{margin:18px 0 20px}
#availability-course .count-row{margin:14px 0}
#availability-course .count-row>div:first-child{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:15px}
#availability-course .count-row strong{white-space:nowrap;font-variant-numeric:tabular-nums}
#availability-course .count-row small{display:block;margin-top:4px;color:var(--muted);font-size:13px}
#availability-course .bar-track{height:12px;background:var(--line);border-radius:3px;margin-top:8px;overflow:hidden}
#availability-course .bar-track span{height:100%;display:block;background:var(--green);border-radius:3px}
#availability-course .count-row:nth-child(2) .bar-track span{background:var(--honey)}
#availability-course blockquote{margin:18px 0;padding:18px;background:var(--paper);font-size:16px}
#availability-course .contrast{margin:22px 0}
#availability-course .contrast dt{font-weight:700;color:var(--green);margin:18px 0 5px}
#availability-course .contrast dd{margin:0}
#availability-course .routine{padding-left:24px}
#availability-course .routine li{margin:12px 0}
#availability-course .course-progress{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:28px 0 10px;font-size:14px}
#availability-course progress{flex:1;min-width:100px;max-width:360px;height:10px;accent-color:var(--green)}
#availability-course .text-button{border:0;background:transparent;padding:10px 0;text-decoration:underline;text-underline-offset:3px;color:var(--muted);text-align:left}
#availability-course .reset-confirm{padding:22px;background:var(--honey-light);border-radius:8px;max-width:700px}
#availability-course .reset-confirm h3{margin-top:0}
#availability-course .actions{display:flex;gap:12px;flex-wrap:wrap}
#availability-course .actions .btn{width:auto;flex:1;min-width:150px;margin:0}
#availability-course .faq{max-width:850px;margin-top:54px}
#availability-course .faq details{border-bottom:1px solid var(--line);padding:5px 0}
#availability-course .faq summary{font-size:18px}
@media(max-width:1000px){#availability-course .course-main{padding:26px}#availability-course .panel{padding:26px}#availability-course .chapter{font-size:13px;gap:6px}#availability-course h2{font-size:30px}}
@media(max-width:760px){#availability-course .course-main{padding:24px 20px 40px}#availability-course .lesson-grid{grid-template-columns:minmax(0,1fr)}#availability-course .panel{padding:26px 22px}#availability-course .scene-caption{padding:20px 22px}#availability-course .scene-caption h3{font-size:27px}#availability-course .scene-caption p{margin-bottom:0}#availability-course .chapter-nav{gap:5px}#availability-course .chapter{flex-direction:column;text-align:center;gap:7px;font-size:12px;padding:10px 2px;min-height:78px}#availability-course .stamps{grid-template-columns:repeat(3,minmax(0,1fr))}#availability-course .course-progress{gap:10px}#availability-course .course-progress .small{width:100%}#availability-course .faq{margin-top:40px}}
@media(max-width:390px){#availability-course .course-main{padding-inline:14px}#availability-course .panel{padding:24px 18px}#availability-course .chapter{font-size:11px}#availability-course .count-row>div:first-child{gap:8px;font-size:14px}#availability-course h2{font-size:29px}#availability-course .passport summary{font-size:14px}}
@media(prefers-reduced-motion:reduce){#availability-course,#availability-course *,#availability-course *::before,#availability-course *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
