/* LET unified presentation. Canonical palette and typography are unchanged.
   Owner-approved studio exceptions: brass edge rules, #8F6D35/white action
   contrast, #28543C/white transport. Musical diagrams keep their own colors. */
@font-face{font-family:Oswald;src:url('../fonts/Oswald-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
html[data-let-theme]{
 --let-color-ink:#0A0908;--let-color-brass:#A27C3D;--let-color-cream:#ECE1D1;
 --let-gray-950:#141210;--let-gray-900:#1D1A16;--let-gray-800:#292622;
 --let-gray-700:#423A30;--let-gray-600:#5C554B;--let-gray-500:#7A7165;
 --let-gray-400:#9C9183;--let-gray-300:#BDB2A2;--let-gray-200:#D3C8B9;
 --let-gray-150:#E3D9CA;--let-gray-100:#ECE1D1;--let-gray-50:#F6F0E7;
 --let-action-primary:#8F6D35;--let-action-primary-text:#fff;--let-transport:#28543C;
 --let-font-display:Oswald,"Arial Narrow",sans-serif;--let-font-body:Montserrat,Arial,sans-serif;
 --let-font-editorial:'EB Garamond',Georgia,serif;
 --black:var(--let-bg-page);--panel:var(--let-bg-surface);--panel2:var(--let-bg-raised);
 --silver:var(--let-text-primary);--char:var(--let-text-secondary);--dim:var(--let-text-subtle);
 --line:var(--let-border);--gold:var(--let-color-brass);--goldhi:var(--let-text-primary);--gold-hi:var(--let-text-primary);
 --shell:1248px;--gutter:32px;--navh:112px;
}
html[data-let-theme=light]{
 color-scheme:light;--let-bg-page:var(--let-gray-150);--let-bg-surface:var(--let-gray-50);
 --let-bg-raised:var(--let-gray-50);--let-bg-elevated:var(--let-gray-150);
 --let-border:var(--let-gray-200);--let-text-primary:var(--let-color-ink);
 --let-text-secondary:var(--let-gray-600);--let-text-subtle:var(--let-gray-600);
 --let-control-disabled:var(--let-gray-150);--let-focus:var(--let-transport);
 --let-success-text:#28543C;--let-destructive-text:#8C3A2E;--let-error:#8C3A2E;
}
html[data-let-theme=dark]{
 color-scheme:dark;--let-bg-page:var(--let-color-ink);--let-bg-surface:var(--let-gray-900);
 --let-bg-raised:var(--let-gray-900);--let-bg-elevated:var(--let-gray-800);
 --let-border:var(--let-gray-700);--let-text-primary:var(--let-color-cream);
 --let-text-secondary:var(--let-gray-300);--let-text-subtle:var(--let-gray-300);
 --let-control-disabled:var(--let-gray-800);--let-focus:var(--let-color-cream);
 --let-success-text:#C5E5A3;--let-destructive-text:#D98A7E;--let-error:#D98A7E;
}
html[data-let-theme] body{background:var(--let-bg-page);color:var(--let-text-primary);font-family:var(--let-font-body);font-size:16px;line-height:1.6}
html[data-let-theme] :is(h1,h2):not(:where(.prose *)){font-family:var(--let-font-display);font-size:28px;font-weight:500;line-height:1.2;letter-spacing:0;margin:0 0 12px;overflow-wrap:anywhere}
html[data-let-theme] h3:not(:where(.prose *)){font-family:var(--let-font-display);font-size:20px;font-weight:500;line-height:1.3;letter-spacing:0}
html[data-let-theme] :is(button,input,select,textarea,.btn,.rbtn,.vol-actions a){font-family:var(--let-font-body);font-size:16px;line-height:1.6;letter-spacing:0}
html[data-let-theme] :is(button,.btn,.rbtn,.vol-actions a){font-weight:600;min-height:44px;border-radius:12px}
html[data-let-theme] :is(p,label,.muted,.sub,.vmeta,.emeta,.eprompt,.authsub,.tc-open,.gdesc,.hint,.breadcrumb):not(:where(.prose *)){font-size:16px;line-height:1.6}
html[data-let-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){background:var(--let-bg-surface);color:var(--let-text-primary);border:1px solid var(--let-gray-500);border-radius:12px;padding:10px 12px}
html[data-let-theme] :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--let-action-primary)}
html[data-let-theme] label{letter-spacing:0;text-transform:none}
html[data-let-theme] .btn{background:var(--let-action-primary);color:#fff;box-shadow:none;text-decoration:none;padding:12px 20px;transform:none}
html[data-let-theme] .btn.ghost{background:var(--let-bg-surface);color:var(--let-text-primary);border:1px solid var(--let-gray-500)}
html[data-let-theme] .btn.destructive{background:transparent;color:var(--let-destructive-text);border-color:var(--let-destructive-text)}
html[data-let-theme] :is(.btn,button):hover:not(:disabled){filter:none;transform:none;border-color:var(--let-color-brass);box-shadow:none}
html[data-let-theme] :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--let-focus);outline-offset:3px}
html[data-let-theme] button:disabled{opacity:1;background:var(--let-control-disabled);color:var(--let-text-secondary);border:1px dashed var(--let-gray-500);cursor:not-allowed;box-shadow:none}
html[data-let-theme] :is(.card,.authcard,.managebar,.toc){background:var(--let-bg-raised);border:1px solid var(--let-border);border-radius:16px;box-shadow:inset 4px 0 var(--let-color-brass);padding:24px}
html[data-let-theme] .card.accent{border-left-width:1px}
html[data-let-theme] .stack{gap:24px}
html[data-let-theme] :is(.grid2,.toolgrid,.vol-grid){gap:24px}
html[data-let-theme] .wrap{padding:40px var(--gutter) 64px}
html[data-let-theme] :is(.curric,.mstry){max-width:1100px}
html[data-let-theme] :is(.jrnl,.authwrap){max-width:760px}
html[data-let-theme] .topnav{background:var(--let-bg-surface);border-bottom:3px solid var(--let-color-brass);backdrop-filter:none}
html[data-let-theme] .tin{max-width:var(--shell);height:auto;min-height:96px;padding:20px var(--gutter);gap:24px;flex-wrap:wrap}
html[data-let-theme] .tbrand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;line-height:1.6;text-decoration:none;flex-shrink:0}
html[data-let-theme] .tlogo{width:240px;height:auto;max-height:none}
.let-tagline{font:400 16px/1.6 Montserrat,sans-serif;color:var(--let-text-secondary);letter-spacing:0}
html[data-let-theme] .tlinks{margin-left:auto;gap:8px;align-items:center;flex-wrap:wrap}
html[data-let-theme] .tlinks :is(a,summary){font:600 16px/1.6 Montserrat,sans-serif;letter-spacing:0;text-transform:none;padding:10px 14px;border-radius:12px;color:var(--let-text-primary);text-decoration:none;min-height:44px}
html[data-let-theme] .tlinks a.on{background:var(--let-action-primary);color:#fff;border:0}
.let-nav-group,.let-settings{position:relative}
.let-nav-group summary,.let-settings summary{cursor:pointer;list-style:none}
.let-nav-group summary::after,.let-settings summary::after{content:" ▾"}
.let-nav-group[open] summary::after,.let-settings[open] summary::after{content:" ▴"}
.let-nav-menu,.let-settings-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;max-width:calc(100vw - 40px);padding:12px;border:1px solid var(--let-border);border-radius:16px;background:var(--let-bg-surface);z-index:120}
.let-nav-menu a{display:block}
html[data-let-theme] .let-settings-panel label{display:grid;gap:8px;margin:0}
.let-settings-panel select{width:100%}
.let-settings-panel p{margin:12px 0 0;color:var(--let-text-secondary)}
html[data-let-theme] .sitefoot{background:var(--let-bg-surface);margin-top:32px}
html[data-let-theme] .sitefoot .sf-in{padding:24px var(--gutter)}
html[data-let-theme] .sitefoot :is(.sf-txt,.sf-txt span){font-size:16px}
html[data-let-theme] .tabbar{background:var(--let-bg-surface)}
html[data-let-theme] .tabbar a{color:var(--let-text-secondary)}
html[data-let-theme] .tabbar a.on{color:var(--let-text-primary);border-top:3px solid var(--let-color-brass)}
html[data-let-theme] .acc-hero{background:var(--let-bg-raised);box-shadow:inset 4px 0 var(--let-color-brass)}
html[data-let-theme] :is(.acc-hero,.landing-hero) .herobody{padding:32px;max-width:640px}
html[data-let-theme] .memberbar{background:var(--let-bg-elevated);backdrop-filter:none}
html[data-let-theme] :is(.acc-hero,.landing-hero) .heroimg{opacity:.16}
html[data-let-theme] .toolcard .tc-art{opacity:.12}
html[data-let-theme] :is(.kicker,.eyebrow,.mlabel,.mtitle,.akick){color:var(--let-text-secondary)}
html[data-let-theme] :is(.instrument-btn.on,.stage-pill.on,.pathrow .vbadge.start){background:var(--let-action-primary);color:#fff}
html[data-let-theme] #fbFab{background:var(--let-transport);color:#fff;box-shadow:none;font-family:var(--let-font-body);font-size:16px}
html[data-let-theme] :is(.playbtn,.startbtn){background:var(--let-transport);color:#fff;box-shadow:none}
html[data-let-theme] .toc{padding:16px}
html[data-let-theme] .pill.active{color:var(--let-success-text)}
html[data-let-theme] :is(td,th,.vsub,.vmeta,.emeta,.sf-txt):not(:where(.prose *)){font-size:16px;line-height:1.6}
html[data-let-theme] .toc a{font-size:16px;line-height:1.5}
html[data-let-theme] .toc a.on{background:var(--panel2);color:var(--silver);border-left:3px solid var(--let-color-brass)}
/* Readers retain their own surface theme, text-size, immersive and page controls.
   Do not restyle .prose, diagrams, note colors or page images here. */
html[data-let-theme] .readtop{gap:16px;flex-wrap:wrap}
html[data-let-theme] .tlinks .let-settings summary{border:1px solid var(--let-gray-500)}
@media(max-width:1000px){html[data-let-theme] .tin{gap:16px}html[data-let-theme] .tlinks{margin-left:0;width:100%}}
@media(max-width:860px){html[data-let-theme] .tlinks{display:flex}html[data-let-theme] .tlinks> a,html[data-let-theme] .tlinks>.let-nav-group{display:none}html[data-let-theme] .tlinks{width:auto;margin-left:auto}html[data-let-theme] .tlinks>.let-mobile-menu{display:block}}
@media(min-width:861px){.let-mobile-menu{display:none}}
@media(max-width:600px){
 html[data-let-theme]{--gutter:20px}
 html[data-let-theme] .tin{padding:16px 20px}
 html[data-let-theme] .tlogo{width:200px}
 html[data-let-theme] .wrap{padding:24px 20px 48px}
 html[data-let-theme] :is(.card,.authcard,.managebar){padding:20px}
 html[data-let-theme] :is(.grid2,.toolgrid,.pathgrid){grid-template-columns:1fr!important}
 html[data-let-theme] :is(.acc-hero,.landing-hero) .herobody{padding:24px}
 .let-nav-menu,.let-settings-panel{position:fixed;top:auto;margin-top:8px;right:20px;max-height:65vh;overflow:auto}
}
@media(prefers-reduced-motion:reduce){html[data-let-theme] *,html[data-let-theme] *::before,html[data-let-theme] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

