:root{--paper:#f8f9f5;--ink:#1c251e;--muted:#637064;--line:#dce2d7;--lemon:#e4f447;--white:#fff;--radius:22px;font-family:"PT Sans","Trebuchet MS",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #527100;outline-offset:4px}button:disabled{cursor:wait;opacity:.5}button{border:0}button:hover{filter:brightness(.97)}[hidden]{display:none!important}.brand{max-width:1020px;margin:auto;padding:28px 32px;display:flex;align-items:center;gap:20px}.brand a{text-decoration:none;color:var(--ink);font-size:29px;font-weight:900;letter-spacing:-1.5px;display:flex;align-items:center;gap:3px}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--lemon);border:1px solid #9cab30;align-self:flex-end;margin-bottom:6px}.brand>span{font-size:11px;line-height:1.35}main{max-width:800px;padding:40px 32px 140px;margin:auto}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--muted)}h1{font-size:clamp(42px,7vw,65px);line-height:1.04;letter-spacing:-2.8px;margin:22px 0 18px;font-weight:720}h1 span{color:#748454}.intro{color:var(--muted);font-size:16px;line-height:1.55;margin-bottom:28px}#search-form{background:var(--white);border:1px solid #a8b594;border-radius:var(--radius);padding:20px;box-shadow:0 5px 0 #e9eddf}textarea{display:block;width:100%;resize:vertical;min-height:70px;border:0;outline:none;background:transparent;font-size:18px;line-height:1.45;color:var(--ink)}textarea::placeholder{color:#899080}.search-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}.search-footer>span{font-size:11px;color:var(--muted)}.search-footer button{padding:13px 16px;border-radius:12px;background:var(--lemon);font-weight:650;font-size:13px}.search-footer button span{margin-left:13px}.suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0 34px}.suggestions button{padding:9px 12px;background:transparent;border:1px solid var(--line);border-radius:30px;font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 14px}h2{font-size:19px;line-height:1.3;letter-spacing:-.3px;margin:0}.section-heading>span{font:12px ui-monospace,monospace;color:var(--muted)}.cards{display:grid;gap:14px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-body{padding:22px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.time{font:12px ui-monospace,monospace;background:#f0f3e7;padding:7px 9px;border-radius:7px}.save{background:none;border:1px solid var(--line);padding:7px 10px;border-radius:30px;font-size:11px}.save[aria-pressed=true]{background:var(--lemon);border-color:var(--lemon)}.card h3{font-size:21px;font-weight:650;line-height:1.3;letter-spacing:-.45px;margin:0 0 12px}.reason{font-size:12px;color:#5e7140;line-height:1.5;margin:0 0 14px}.summary{font-size:14px;line-height:1.6;margin:0 0 18px;color:#4e5b50}.metadata{font-size:12px;line-height:1.6;color:var(--muted)}.metadata strong{color:var(--ink);font-weight:600;display:block}.quality{font-size:11px;line-height:1.5;color:var(--muted);margin-top:12px}details{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.6}details summary{cursor:pointer}.card-actions{border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:12px 18px}.watch{background:var(--ink);color:white;border-radius:10px;padding:12px 13px;font-size:12px;font-weight:600}.whole{background:none;font-size:12px;padding:12px}.empty{border:1px dashed #c5ceba;border-radius:var(--radius);padding:28px 22px;color:var(--muted);font-size:14px;line-height:1.6}.empty strong{display:block;font-size:17px;color:var(--ink);margin-bottom:6px}.empty button{padding:10px 15px;background:var(--lemon);border-radius:9px;margin-top:12px}.sample-note{display:flex;gap:12px;margin-top:32px;color:var(--muted);font-size:11px;line-height:1.6}.sample-note strong{font-weight:650;color:#475542}.sample-note p{margin:5px 0}.note-marker{flex:0 0 20px;height:20px;text-align:center;border:1px solid #aab69b;border-radius:50%;font-family:serif}nav{position:fixed;bottom:0;left:0;right:0;z-index:2;display:flex;justify-content:center;background:#fffffff5;border-top:1px solid var(--line);padding:9px 18px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}nav button{background:transparent;min-width:105px;max-width:200px;flex:1;padding:7px 10px;font-size:11px;color:var(--muted);border-radius:13px}nav button>span{display:block;font-size:22px;line-height:26px}nav button[aria-current]{background:#edf4cd;color:#263419}nav small{font-size:9px}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}.topic{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;text-align:left}.topic strong{display:block;font-size:21px;margin:10px 0}.topic span{font:12px ui-monospace,monospace;color:var(--muted)}.topic[aria-pressed=true]{background:var(--lemon);border-color:#bacb3a}dialog{border:1px solid var(--line);border-radius:24px;padding:24px;max-width:780px;width:calc(100% - 24px);max-height:90dvh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#102016a6;backdrop-filter:blur(4px)}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.player-header button{background:#eef0e8;border-radius:50%;height:36px;width:36px;font-size:26px}video{display:block;width:100%;max-height:48dvh;background:#101510;border-radius:12px}#player-meta,#video-status,.player-note{font-size:12px;line-height:1.6;color:var(--muted)}.player-actions{display:flex;gap:10px}.player-actions button{padding:12px;background:var(--lemon);border-radius:10px;font-size:12px}.player-actions button+button{background:#e9eddf}#toast{position:fixed;z-index:5;bottom:100px;left:50%;transform:translateX(-50%);max-width:90%;border-radius:12px;background:var(--ink);color:white;padding:12px 18px;font-size:13px;box-shadow:0 4px 20px #0002}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:600px){.brand{padding:20px 22px;gap:12px}.brand a{font-size:26px}.brand>span{font-size:10px}main{padding:24px 22px 130px}h1{font-size:47px;letter-spacing:-2px}.intro{font-size:14px}#search-form{padding:16px}textarea{font-size:16px}.search-footer>span{font-size:10px}.search-footer button{padding:12px;font-size:12px}.suggestions{gap:6px}.suggestions button{font-size:10px;padding:8px 10px}.card-body{padding:18px}.card h3{font-size:19px}.card-actions{padding:12px 14px;gap:3px}.watch,.whole{font-size:11px}.topic{padding:18px 15px}.topic strong{font-size:19px}}@media(prefers-reduced-motion:no-preference){.card{animation:appear .22s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

/* Locally installed fonts; no font files or third-party requests are distributed. */
h1{font-family:"PT Serif",Georgia,serif;font-weight:400;letter-spacing:-2px;line-height:1.08}h2,.card h3,.topic strong{font-family:"PT Sans","Trebuchet MS",sans-serif;font-weight:700;letter-spacing:-.2px}.brand a{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.time,.topic span,.section-heading>span{font-family:"PT Mono",ui-monospace,monospace}@media(max-width:600px){h1{font-size:46px;letter-spacing:-1.7px}}

/* Personal feedback extends existing cards without changing their visual system. */
.feedback{border-top:1px solid var(--line);padding:14px 18px}.feedback p{margin:0 0 9px}.feedback-note,.feedback-context{font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.feedback-status{font-size:13px;font-weight:700}.feedback-controls{display:flex;flex-wrap:wrap;gap:8px}.vote,.vote-remove{min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:13px}.vote[aria-pressed=true]{background:var(--lemon);border-color:#bacb3a}.vote-remove{background:transparent;color:var(--muted)}.rating-scale{margin-top:12px}.rating-history{margin-top:28px}.rating-history>p{margin:10px 0}.rating-entry{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}.rating-entry h3{padding:16px 18px 0;font-size:17px;line-height:1.4;margin:0 0 12px}.rating-entry .feedback{border-top:0}

/* Approved course pages: documentary cover, quiet editorial header, flat lesson list. */
.course-detail>h1,.course-detail>.eyebrow{display:none}.course-detail>.player-actions{margin-bottom:24px}.course-cover{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px}.course-cover-placeholder{background:#eeeee5;display:flex;align-items:center;justify-content:center;padding:36px;color:#65705e;text-align:center;font:28px Georgia,serif}.course-heading{margin:20px 0 18px}.course-heading h2{font:400 28px/1.18 'PT Serif',Georgia,serif;margin:0 0 16px}.course-description{font-size:15px;line-height:1.55;color:var(--muted);margin:0 0 12px}.course-author{font-size:13px;color:var(--muted);margin:0}.course-search{background:white;border:1px solid #a8b594;border-radius:17px;padding:16px;margin:0 0 4px}.course-search textarea{font-size:16px;min-height:68px}.course-search .search-footer{justify-content:space-between}.course-search .course-clear{background:transparent;color:var(--muted);font-weight:400}.course-lessons{display:grid;gap:9px}.course-lessons>h2{font-size:20px;font-weight:400;margin:0 0 8px}.lesson-entry{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.lesson-row{width:100%;display:flex;gap:18px;padding:17px 14px;min-height:68px;background:white;text-align:left;align-items:flex-start;font-size:14px;line-height:1.4}.lesson-row:disabled{cursor:default;opacity:1;color:var(--muted)}.lesson-number{font:13px/1.5 Georgia,serif;color:#748454;flex:0 0 18px}.lesson-name{flex:1;overflow-wrap:anywhere}.lesson-unavailable{font-size:10px;max-width:65px;color:var(--muted)}.lesson-materials{margin:0;padding:0 14px 12px}.lesson-materials>summary{padding:8px 0}.lesson-materials .card{margin-top:8px;border-radius:10px}.course-tile>.course-cover{border-radius:0}.course-detail #course-content{gap:18px}@media(min-width:700px){.course-detail .course-cover{max-height:400px;object-fit:contain}.course-heading h2{font-size:34px}}@media(max-width:600px){.course-detail>.player-actions{margin-bottom:20px}.course-detail .course-heading{margin:14px 0 12px}.course-heading h2{font-size:28px}.course-tile .card-body{padding:16px}}

/* V2 assets already contain reviewed captions; display the entire image. */
.course-cover-editorial{aspect-ratio:3/2;overflow:hidden}.course-cover-editorial img{display:block;width:100%;height:auto}.course-detail .course-cover-editorial{max-height:none}.course-heading h2.sr-only{margin:0}.course-heading:has(h2.sr-only){margin-top:0}nav{gap:8px}nav button{min-width:0;min-height:56px;flex:1;padding:9px 12px}nav button:focus-visible{outline-offset:1px}@media(max-width:600px){nav{padding-left:12px;padding-right:12px;gap:8px}nav button{min-height:56px}}

/* One native button stretches over the card without nested interactive elements. */
.course-tile{position:relative}.course-open::after{content:"";position:absolute;inset:0}.course-open:focus-visible::after{outline:3px solid var(--accent,#65705e);outline-offset:3px;border-radius:inherit}

/* A filter on the button would capture the stretched pseudo-element on hover. */
.course-open:hover{filter:none}

/* Quiet two-tier player controls; each native button retains a 44px touch target. */
.player-control-panel{margin-top:14px;border:1px solid var(--line);border-radius:14px;background:#f3f5ed;overflow:hidden;min-width:0}.fragment-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,1fr)}.lesson-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.player-control-panel button{min-width:0;min-height:48px;padding:10px 5px;background:transparent;color:var(--ink);font-size:12px;line-height:1.25;overflow-wrap:anywhere;font-weight:400}.fragment-controls button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.fragment-controls button>span:first-child{font-size:18px;line-height:20px}.player-control-panel button+button{border-left:1px solid var(--line)}.player-control-panel button:hover{filter:none;background:#e9edde}.player-control-panel button:focus-visible{outline:2px solid #748454;outline-offset:-3px;background:#edf4cd}.player-control-panel button:disabled{opacity:.42;cursor:default;background:transparent}.player-control-panel.is-local .remote-only{display:none}.player-control-panel.is-local .fragment-controls,.player-control-panel.is-local .lesson-controls{grid-template-columns:1fr}.playback-retry{width:100%;border-top:1px solid var(--line);text-decoration:underline;text-underline-offset:3px}.player-control-panel .lesson-controls:has(#player-course[hidden]){grid-template-columns:1fr}#player .player-note{line-height:1.5}@media(max-width:360px){#player{padding:16px}.player-control-panel button{font-size:11px}}
