:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#223a35;background:#f5f4ef;color-scheme:light}*{box-sizing:border-box}body{margin:0;padding:20px}main{max-width:720px;margin:0 auto}.player{background:#fff;border:1px solid #dae3da;border-radius:24px;padding:28px;box-shadow:0 12px 40px #243f2c08}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:#657d6c;text-transform:uppercase}h1{font-size:clamp(1.6rem,5vw,2.15rem);font-weight:650;letter-spacing:-.035em;margin:12px 0}p{line-height:1.6;color:#62726b}.description{margin:0 0 24px;max-width:56ch}audio{width:100%;display:block;margin:8px 0 18px}.controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}button,select,input{font:inherit}button,select{border:1px solid #dce4dd;background:#f6f8f3;color:#254b3c;padding:10px 14px;border-radius:10px}button{cursor:pointer}button:hover:not(:disabled){background:#e7efe4;border-color:#8fac9c}button:disabled,select:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #9baf56;outline-offset:3px}label{font-size:.85rem;color:#586d60}label select{margin-left:8px}.section-label{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;margin:26px 0 12px;color:#637e6b}.cues{display:grid;grid-template-columns:1fr;gap:8px}.cue{display:flex;gap:16px;align-items:center;text-align:left;background:#fff;padding:13px 16px}.cue-time{font-size:.8rem;font-variant-numeric:tabular-nums;color:#637b68;background:#edf1e8;border-radius:6px;padding:4px 7px}.status{font-size:.85rem;margin-bottom:0;min-height:24px}.status[data-state=error]{color:#a7442a}.small{font-size:.8rem}.session-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}a{color:#286148;text-underline-offset:3px}.lesson-row{padding:20px 0;border-bottom:1px solid #dce4dd}.lesson-row h2{font-size:1.1rem;margin-bottom:8px}.login-form p{display:flex;flex-direction:column;gap:8px}.login-form input{padding:12px;border:1px solid #bacdbf;border-radius:8px}.errorlist{color:#a7442a}.embed-frame{width:100%;height:760px;border:0;border-radius:24px}.example{max-width:850px;margin:30px auto}.example>p{max-width:60ch}[hidden]{display:none!important}@media(max-width:420px){body{padding:10px}.player{padding:20px;border-radius:18px}.controls{gap:10px}h1{font-size:1.65rem}.embed-frame{height:840px}}

.signout{margin-top:24px}.signout button{background:transparent;border:0;color:#4b604f;text-decoration:underline;padding:8px;cursor:pointer;min-height:44px}#assignment-choices a{display:block;margin:12px 0;padding:14px;background:#eff3e8;border-radius:10px;color:#284c39}.player{overflow-wrap:anywhere}.controls button,.cue{min-height:44px}audio{max-width:100%}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.transport{display:flex;align-items:center;gap:16px;margin:16px 0 24px}.transport>button{min-width:100px;min-height:44px;background:#284d3d;color:#fff}.seek{flex:1;min-width:0}.seek label,.seek input,.seek span{display:block}.seek input{width:100%;min-height:36px;accent-color:#37654e}.seek span{font-variant-numeric:tabular-nums}.course-switcher{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.course-switcher a{padding:10px 14px;border:1px solid #dce4dd;border-radius:10px}.course-switcher a[aria-current]{background:#edf3e4;font-weight:650}.language-picker{margin:18px 0}.language-picker label{display:block;margin-bottom:8px}@media(max-width:420px){.transport{gap:12px}.transport>button{min-width:80px;padding:10px}}

.transport>button:hover:not(:disabled){background:#37654e;border-color:#37654e;color:#fff}.embed-frame{height:940px}@media(max-width:420px){.embed-frame{height:1100px}}

.course-back{display:inline-block;margin-bottom:20px;font-size:.9rem}.instructions summary{cursor:pointer;min-height:44px;font-weight:650;color:#284d3d}.transport>button{min-width:56px;font-size:1.4rem}.description{white-space:pre-line}.instructions[open]{padding-bottom:20px}

.inline-player-root{background:#fff}.inline-player{padding:8px;background:#fff}.inline-player .player{max-width:none;padding:12px;border:0;box-shadow:none;border-radius:0}.inline-player #week-challenge,.inline-player .signout{display:none}.inline-player h1{font-size:1.45rem}.description{margin-top:24px}

video{width:100%;max-height:520px;background:#152a30;border-radius:12px;margin:18px 0;display:block}.media-choice{display:flex;justify-content:flex-end;align-items:center;margin:12px 0}.media-choice select{min-height:44px}.description{white-space:pre-line;max-width:none}

.description.lesson-prose{white-space:normal}.description.lesson-prose>:first-child{margin-top:0}.description.lesson-prose>:last-child{margin-bottom:0}.lesson-prose{overflow-wrap:anywhere}

/* Compact controls inside a course lesson card; full-page players keep their layout. */
.compact-player-root{background:transparent}.compact-player{padding:0;background:transparent}.compact-player .player{padding:0;background:transparent}.compact-player .course-back,.compact-player .eyebrow,.compact-player h1{display:none}.compact-player .transport{margin:8px 0 14px;gap:12px}.compact-player .controls{gap:8px;font-size:.8rem}.compact-player .controls button,.compact-player .controls select{padding:9px 10px}.compact-player .controls label{font-size:.8rem}.compact-player .controls select{margin-left:5px}.compact-player .status{font-size:.76rem;min-height:0;margin-top:12px}.compact-player #progress-status{margin:4px 0 8px;font-size:.75rem}.compact-player .lesson-details{margin-top:12px;font-size:.85rem}.compact-player .lesson-details>summary{cursor:pointer;color:#476f62;min-height:36px;display:flex;align-items:center;gap:6px}.compact-player .lesson-details>summary::before{content:"▸"}.compact-player .lesson-details[open]>summary::before{content:"▾"}.compact-player .lesson-details>summary::-webkit-details-marker{display:none}.compact-player .description{margin:12px 0}.compact-player .media-choice{margin:0 0 12px}.compact-player video{margin:0 0 12px}
