:root{color-scheme:light;--paper:#faf8f2;--ink:#26211c;--green:#85621d;--line:#e4ddd0;--muted:#736b5f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 system-ui,sans-serif}main{max-width:850px;padding:24px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px}header a{font-weight:600}h1,h2{font-family:Georgia,serif;line-height:1.2}h1{font-size:clamp(2rem,6vw,2.8rem);margin:20px 0 14px}h2{font-size:1.5rem;margin:32px 0 14px}h3{font-size:1.05rem;margin:22px 0 8px}p{max-width:72ch;margin:10px 0 18px}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit;color:var(--ink);border:1px solid #736b5f;border-radius:6px;max-width:100%}button,select{min-height:44px;padding:9px 14px;background:#f7f3ec}button{cursor:pointer}button:hover{background:#e4ddd0}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#453c4c}button:disabled{opacity:.55;cursor:not-allowed}input,textarea{display:block;width:100%;background:#fffdf8;padding:11px;caret-color:var(--green)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{display:inline-block;width:22px;height:22px;vertical-align:middle;margin:0 9px 0 0;accent-color:var(--green)}label{display:block;margin:16px 0 8px}fieldset{padding:0;border:0;margin:28px 0}legend{font-weight:600;padding:0}fieldset label{margin:12px 0}textarea{resize:vertical}::selection{background:#dcb673}:focus-visible{outline:3px solid var(--green);outline-offset:3px}*{scrollbar-color:#736b5f var(--paper)}[hidden]{display:none!important}.muted{color:var(--muted)}.notice{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.error{color:#842f25}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.lesson-list{list-style:none;padding:0;margin:0}.lesson-list>li{padding:20px 0;border-bottom:1px solid var(--line)}.lesson-list a{font-weight:600}.lesson-list p{margin:6px 0}.player{position:sticky;top:0;background:var(--paper);padding:16px 0;border-bottom:1px solid var(--line);z-index:1}.player audio{display:block;width:100%}.transcript-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.transcript-row p{margin:6px 0;white-space:pre-wrap}.transcript-row button,.timestamp{font-variant-numeric:tabular-nums}.notes{white-space:pre-wrap}.range-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-bottom:12px}.range-row label{margin:0}.range-row button{margin-bottom:0}.preview{margin:32px 0;padding:20px 0;border-top:2px solid var(--green)}.account-row{padding:16px 0;border-bottom:1px solid var(--line)}details{border-top:1px solid var(--line);padding:18px 0;margin-top:24px}summary{cursor:pointer;font-weight:600;min-height:44px}code{overflow-wrap:anywhere}p,li,a,h1,h2,label{overflow-wrap:anywhere}.small{font-size:.9rem}footer{margin:48px 0 20px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:.9rem}@media(max-width:480px){main{padding:18px}header{align-items:flex-start}.range-row{grid-template-columns:1fr 1fr}.range-row button{grid-column:1/-1;justify-self:start}button{max-width:100%}.transcript-row{grid-template-columns:66px minmax(0,1fr);gap:8px}.transcript-row button{padding:9px 5px}}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/lesson-theme-fonts/website-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/lesson-theme-fonts/website-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/lesson-theme-fonts/website-2.ttf) format('truetype');
}

/* Yuri Liberzon Recital Hall: sourced from yuriguitar/src/styles/global.css. */
:root{color-scheme:light;--paper:#f7f3ec;--ink:#26211c;--muted:#736b5f;--line:#e4ddd0;--rule:#e4ddd0;--dark:#1c1820;--dark-soft:#453c4c;--gold:#a87c2c;--gold-deep:#85621d;--gold-bright:#dcb673;--green:#85621d;--accent:#85621d;--accent-hover:#6b4e17;--accent-active:#513b11;--white:#fffdf8;--focus:#85621d;--selection:#dcb673;--accent-wash:rgba(168,124,44,.09)}
body,#private-reader{background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif}
body:has(#private-reader),.draft-player{background:var(--paper)}
h1,h2,h3,#private-reader h1,#private-reader h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:.01em;line-height:1.12}
main>header{background:var(--dark);color:#f5f1e8;padding:18px 20px;border-bottom:1px solid var(--gold-bright);max-width:none}
main>header a,main>header p,main>header .back,main>header .app-subtitle{color:#f5f1e8}
main>header a:hover{color:var(--gold-bright)}
main>header :focus-visible{outline-color:var(--gold-bright)}
#private-reader a,.private-draft-list a{color:var(--gold-deep)}
input,textarea,#private-reader input,.draft-exceptions textarea{caret-color:var(--gold-deep);background:var(--white);color:var(--ink);border-color:var(--muted)}
input[type=checkbox]{accent-color:var(--gold-deep)}
button,select,#private-reader button,#private-reader select{font-family:Inter,system-ui,sans-serif}
button.primary{background:var(--dark);border-color:var(--dark);color:#f5f1e8}
button.primary:hover{background:var(--dark-soft)}
#private-reader button,#private-reader select{background:var(--paper);color:var(--ink);border-color:var(--muted)}
#private-reader button:hover{background:var(--line)}
button:not(.primary):not(:disabled):hover{filter:brightness(.96)}
:focus-visible,#private-reader :focus-visible,.private-draft-list :focus-visible{outline-color:var(--gold-deep)}
::selection,#private-reader ::selection{background:var(--gold-bright);color:var(--dark)}
*{scrollbar-color:var(--muted) var(--paper)}
.draft-transcript-row,.private-draft-list li,.draft-player{border-color:var(--line)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Owner rehearsal uses the actual student reader, with separate owner controls. */
.owner-preview-bar{max-width:760px;margin:1.25rem auto;padding:1.25rem;background:#eee7db;color:#1c1820;border:1px solid #85621d;border-radius:4px}
.owner-preview-bar h2{margin:0 0 .65rem}.owner-preview-bar .actions{margin:1rem 0}.owner-preview-bar>a{display:inline-block;margin:1rem}
.owner-preview-bar button[aria-pressed="true"]{background:#1c1820;color:#f7f3ec}.preview-privacy-notice{display:none}
.owner-preview.preview-private main,.owner-preview.preview-private .preview-scope{display:none!important}.owner-preview.preview-private .preview-privacy-notice{display:block}
@media(max-width:800px){.owner-preview-bar{margin:1rem;padding:1rem}}

/* Optional, inline help; follows the existing lesson typography and controls. */
.student-guide{margin:20px 0 28px;padding:0 0 20px;border-bottom:1px solid var(--line)}
.student-guide-body{max-width:72ch;padding-top:4px}.student-guide-body h2{margin:22px 0 12px}
.student-guide-steps{padding-left:1.4em;margin:12px 0 20px}.student-guide-steps li{padding-left:.2em;margin:10px 0}
.student-guide-more{margin:16px 0 12px;padding:14px 0 0}.student-guide-more h3{font-size:1.35rem;margin:22px 0 8px}
.student-guide-more p{margin:0 0 18px}.student-guide-body button{scroll-margin-bottom:210px}

#video-sharing-note{margin:4px 0 16px;max-width:65ch}
fieldset label:has(#include-video:disabled){color:var(--muted)}

/* The lesson reader: nothing above the lesson but its title, and the footer clears the player. */
#state:empty{display:none}
body:has(.study-player) .lesson-study{padding-bottom:24px}
body:has(.study-player) main{padding-bottom:calc(var(--study-player-height,220px) + 24px)}
#content+.student-guide{margin:32px 0 0;padding:20px 0 0;border-top:1px solid var(--line);border-bottom:0}

/* Lesson thumbnails: fixed space, no layout jump while the private image loads. */
.lesson-thumbnail{width:96px;height:54px;object-fit:cover;flex:0 0 96px;border-radius:4px;background:#f6f2e9;color:#40382e}
.lesson-list a{display:flex;align-items:center;gap:14px}.lesson-list .lesson-thumbnail{display:block}

.lesson-list .lesson-thumbnail{width:120px;height:68px;flex-basis:120px}
@media(max-width:600px){.lesson-list .lesson-thumbnail{width:96px;height:54px;flex-basis:96px}}
