/* KORE BAMA reference-dashboard-r7 — complete visual system based on the supplied dashboard. */
:root{
  --ink:#14263c;
  --ink-soft:#42536a;
  --muted:#778398;
  --canvas:#f4f1ea;
  --paper:#fffefa;
  --paper-soft:#faf8f3;
  --line:#e9e5dc;
  --line-strong:#ddd8cd;
  --navy:#173b55;
  --navy-deep:#102f47;
  --blue:#0c67a1;
  --teal:#268a75;
  --orange:#c86e22;
  --red:#cf5558;
  --purple:#7651b4;
  --gold:#d08a2f;
  --radius:11px;
  --shadow:0 5px 22px rgba(40,43,45,.075);
  --shadow-hover:0 10px 28px rgba(25,45,62,.11);
  --topbar:62px;
  --wide:1560px;
  --ui:"Segoe UI","Noto Sans Hebrew",Arial,sans-serif;
}

*{box-sizing:border-box}
html{background:var(--canvas);scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 52% 0,rgba(255,255,255,.92),transparent 32rem),linear-gradient(180deg,#f8f6f1 0,#f2efe8 100%);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.45}
body::selection{background:#cfe2ea;color:var(--ink)}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,h4,h5,h6{margin-top:0;color:var(--ink);font-family:var(--ui);font-weight:800;letter-spacing:-.025em}
p{color:var(--ink-soft)}
a{color:var(--blue)}
:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:3px solid rgba(12,103,161,.24)!important;outline-offset:2px}
.hidden{display:none!important}
.skip-link{
  position:fixed!important;
  inset-inline-start:18px!important;
  top:-80px!important;
  z-index:10000!important;
  padding:9px 14px!important;
  border-radius:0 0 8px 8px!important;
  background:var(--navy)!important;
  color:#fff!important;
  font-weight:800!important;
}
.skip-link:focus{top:0!important}

/* One component language across every view. */
.card,
.view-heading,
.curriculum-card,
.lesson-workspace,
.r4-practice-console,
.r4-stage-console,
.stage-lab,
.academy-overview,
.academy-workspace,
.exam-workspace,
.exam-history-card,
.tools-orientation,
.tools-nav-card,
.rc6-panel,
.r4-progress-dossier,
.tt-menu-stack,
.tt-main-panel,
.tt-side-stack{
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  background:rgba(255,254,250,.98)!important;
  box-shadow:var(--shadow)!important;
}
button.primary,.primary{
  min-height:44px;
  border:1px solid var(--navy)!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,var(--navy),#1b4b68)!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:0 6px 14px rgba(23,59,85,.16)!important;
}
button.primary:hover,.primary:hover{background:var(--navy-deep)!important;transform:translateY(-1px)}
button.secondary,.secondary,button.ghost,.ghost{
  border-color:var(--line-strong)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
button.secondary:hover,.secondary:hover,button.ghost:hover,.ghost:hover{border-color:#b9c3ca!important;background:#f5f8f9!important}
input,select,textarea,.text-input,.select-input{border:1px solid #d9dde0!important;border-radius:9px!important;background:#fff!important;color:var(--ink)!important}
.pill,.micro-label,.eyebrow{color:var(--blue)!important;font-family:var(--ui)!important;font-weight:800!important}
.pill{padding:5px 10px;border-radius:999px!important;background:#eaf3f7!important}

/* Header: same proportions and hierarchy as the reference. */
#appShell{min-height:100vh}
.guided-topbar{
  position:sticky!important;
  top:0;
  z-index:220;
  width:100%;
  height:var(--topbar)!important;
  display:grid!important;
  grid-template-columns:220px minmax(510px,1fr) minmax(260px,330px) minmax(225px,285px);
  grid-template-areas:"brand nav search actions";
  align-items:stretch!important;
  gap:12px!important;
  padding:0 clamp(20px,2vw,34px)!important;
  direction:rtl;
  border:0!important;
  border-bottom:1px solid rgba(20,38,60,.09)!important;
  background:rgba(255,254,250,.96)!important;
  box-shadow:0 3px 17px rgba(33,44,55,.045)!important;
  backdrop-filter:blur(18px);
}
.brand-lockup{grid-area:brand;display:flex!important;align-items:center!important;justify-content:flex-start;gap:10px!important;min-width:0!important;direction:rtl}
.brand-lockup>div:last-child{display:grid;align-content:center}
.brand-lockup h1{margin:0!important;color:var(--ink)!important;font-size:1.38rem!important;line-height:1!important;white-space:nowrap}
.brand-lockup p{margin:5px 0 0!important;color:#58677a!important;font-size:.67rem!important;white-space:nowrap}
.brand-mark{position:relative;width:37px!important;height:46px!important;display:grid!important;place-items:center!important;border-radius:0!important;background:transparent!important;color:var(--navy)!important;font:900 2.35rem/1 Georgia,serif!important;box-shadow:none!important;transform:rotate(-12deg)!important}
.brand-mark::after{content:"";position:absolute;right:3px;bottom:5px;width:9px;height:23px;border-right:4px solid var(--gold);border-radius:50%;transform:rotate(17deg)}
.brand-mark span{position:relative;z-index:1}
.app-nav{grid-area:nav;position:static!important;height:100%!important;display:flex!important;align-items:stretch!important;justify-content:center!important;gap:0!important;padding:0!important;overflow:hidden!important;border:0!important;background:transparent!important;box-shadow:none!important;direction:rtl}
.nav-item{min-width:94px!important;height:100%!important;padding:0 18px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:9px!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;color:#1f3045!important;font-size:.87rem!important;font-weight:800!important;white-space:nowrap!important;box-shadow:none!important}
.nav-item .nav-icon{color:#183a57!important;font-size:1.2rem!important;font-weight:500!important;line-height:1}
.nav-item:hover{background:rgba(23,59,85,.035)!important}
.nav-item.active{border-bottom-color:var(--navy)!important;background:linear-gradient(180deg,transparent 40%,rgba(30,75,108,.07))!important;color:var(--navy)!important}
.global-search-shell{grid-area:search;position:relative!important;align-self:center!important;min-width:0!important}
.global-search-box{height:38px!important;min-height:38px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:0 12px!important;border:1px solid #d4d7d7!important;border-radius:999px!important;background:#fbfaf7!important;box-shadow:none!important}
.global-search-box:focus-within{border-color:#7698ad!important;box-shadow:0 0 0 4px rgba(35,100,139,.08)!important}
.global-search-box input{min-width:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--ink)!important;font-size:.78rem!important;box-shadow:none!important}
.global-search-icon{font-size:1.12rem!important;color:#35536d!important}
.global-search-shortcut{display:none!important}
.top-actions{grid-area:actions;align-self:stretch!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;max-width:none!important;direction:ltr}
.top-actions>#learningResetTopBtn,.top-actions>#simpleModeBtn,.top-actions>#topAskTeacher,.top-actions>#teacherStudioBtn,.top-actions>#ownerManageBtn,.top-actions>#installBtn,.top-actions>#qaOverrideBtn{display:none!important}
.reference-notification{position:relative;width:38px;height:38px;padding:0;border:0;background:transparent;color:var(--ink);font-size:1.25rem;cursor:pointer}
.reference-notification i{position:absolute;right:4px;top:5px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#d45b58}
.user-chip{min-width:165px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:0!important;border:0!important;background:transparent!important;direction:ltr}
.user-chip.hidden{display:none!important}
.profile-avatar{width:38px;height:38px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:linear-gradient(145deg,#2d475b,#0f2638);color:#fff;font-weight:900;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.user-chip>div{display:grid!important;min-width:0;text-align:right;direction:rtl}
.user-chip b{font-size:.78rem!important;white-space:nowrap}
.user-chip span{color:#6c7888!important;font-size:.66rem!important;white-space:nowrap}
.user-chip .cloud-sync-status{display:none!important}
.user-chip #logoutBtn{width:auto!important;min-height:auto!important;padding:3px!important;border:0!important;background:transparent!important;font-size:0!important}
.user-chip #logoutBtn::before{content:"⌄";font-size:1.1rem;color:var(--ink)}
.global-search-results{top:48px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 18px 45px rgba(20,38,60,.18)!important}

.qa-override-banner{top:var(--topbar)!important}
.guided-shell{width:min(var(--wide),calc(100% - 48px))!important;margin:0 auto!important;padding:14px 0 70px!important}
.app-view{max-width:none!important}

/* Dashboard hero. */
#view-home>.curriculum-v2-home{display:none!important}
#view-home>.simple-guide,#view-home>.simple-home-more{display:none!important}
.r4-home-stage{
  min-height:318px!important;
  display:grid!important;
  grid-template-columns:minmax(430px,39.5fr) minmax(0,60.5fr)!important;
  gap:18px!important;
  direction:ltr;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-intro{
  grid-column:1!important;
  position:relative!important;
  min-height:318px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
  padding:40px 42px!important;
  direction:rtl;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,rgba(11,19,25,.03),rgba(11,19,25,.7)),url("assets/ui/reference-piano-hero-r7.png") center 53%/cover no-repeat!important;
  color:#fff!important;
  box-shadow:var(--shadow)!important;
}
.home-intro::before{content:""!important;position:absolute!important;inset:0!important;height:auto!important;background:linear-gradient(90deg,transparent 0,rgba(4,12,18,.15) 46%,rgba(4,12,18,.72) 100%)!important;transform:none!important}
.home-intro::after{display:none!important}
.home-intro-copy{position:relative!important;z-index:1!important;max-width:310px!important;text-align:right!important}
.home-intro blockquote{margin:0 0 16px;color:#f6f0e8;font-family:Georgia,"Noto Serif Hebrew",serif;font-size:1.38rem;font-style:italic;line-height:1.55;text-shadow:0 2px 15px #000}
.home-intro cite{display:block;color:#f2ede4;font-size:.85rem;font-style:normal}
.home-intro .home-day,.home-intro #homeFocusCopy{display:none!important}
.home-next-column{grid-column:2;display:grid;grid-template-rows:72px 1fr;gap:8px;min-width:0;direction:rtl}
.dashboard-heading{padding:4px 14px 0 0;text-align:right}
.dashboard-heading h2{margin:0 0 4px!important;color:#1d2024!important;font-size:2rem!important;line-height:1.16!important}
.dashboard-heading p{margin:0!important;color:#5c6a7c!important;font-size:.96rem!important}
.today-focus-card{
  min-height:238px!important;
  display:grid!important;
  grid-template-columns:292px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  gap:0!important;
  overflow:hidden!important;
  padding:13px!important;
  direction:ltr;
  border-radius:10px!important;
}
.lesson-preview-visual{position:relative;grid-column:1;height:100%;min-height:210px;overflow:hidden;border:1px solid #e9e3d8;border-radius:8px;background:linear-gradient(135deg,#f7f1e6,#fffdf8)}
.lesson-preview-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(122,96,59,.08),transparent 42%),repeating-linear-gradient(95deg,rgba(96,74,47,.018) 0 1px,transparent 1px 4px)}
.music-staff{position:absolute;inset:36px 22px 32px;display:grid;align-content:center;gap:14px}
.music-staff>i{display:block;height:1px;background:#53606d;box-shadow:0 6px 0 #53606d,0 12px 0 #53606d,0 18px 0 #53606d,0 24px 0 #53606d}
.music-staff>i:not(:first-child){display:none}
.music-staff>b{position:absolute;left:4px;top:26px;color:#111;font:3.9rem/1 Georgia,serif}
.music-staff .note{position:absolute;color:#151515;font-size:1.05rem;line-height:1}
.music-staff .note::after{content:"";position:absolute;left:7px;bottom:5px;width:1px;height:32px;background:#151515}
.music-staff .note-a{left:84px;top:59px}.music-staff .note-b{left:139px;top:47px}.music-staff .note-c{left:198px;top:70px}
.music-staff>em{position:absolute;left:76px;bottom:3px;color:#161616;font:1rem/1.2 Georgia,serif;font-style:normal;letter-spacing:.22em}
.preview-play{position:absolute;right:-16px;top:50%;width:49px;height:49px;display:grid;place-items:center;transform:translateY(-50%);border-radius:50%;background:#264d67;color:#fff;font-size:1rem;box-shadow:0 5px 14px rgba(20,56,80,.25)}
.lesson-focus-copy{grid-column:2;position:relative;min-width:0;padding:1px 18px 0 28px;direction:rtl;text-align:right}
.dashboard-kicker{display:flex;align-items:center;justify-content:flex-start;gap:7px;margin-bottom:12px;color:#172d45!important;font-size:.82rem!important;font-weight:900!important;letter-spacing:0!important;text-transform:none!important}
.dashboard-kicker span{color:#1a5477;font-size:1.15rem}
.lesson-tags{margin-bottom:4px;color:#8c95a2;font-size:.68rem}
.next-lesson-focus{margin:0!important;padding:0!important;border:0!important}
.next-lesson-focus h3{margin:0 0 8px!important;color:#17283d!important;font-size:1.35rem!important;line-height:1.25!important}
.next-lesson-focus p{max-width:620px;margin:0!important;color:#657286!important;font-size:.86rem!important;line-height:1.5!important}
.next-lesson-focus .why-now:empty{display:none}
.lesson-meta{position:absolute;right:18px;left:172px;bottom:2px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#657286;font-size:.72rem;white-space:nowrap}
.lesson-meta b{font-weight:500}
.lesson-focus-copy>#startDaily{position:absolute;left:0;bottom:0;width:154px;min-height:43px!important;padding:0 18px!important;display:flex;align-items:center;justify-content:space-between;border-radius:9px!important;font-size:.88rem!important}
.daily-preference-summary{display:none!important}

.placement-required-card,.calibration-required-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:12px;padding:18px 20px!important;border-inline-start:4px solid var(--orange)!important}
.placement-required-card.hidden,.calibration-required-card.hidden{display:none!important}
.placement-required-card h3,.calibration-required-card h3{margin:4px 0!important;font-size:1.05rem!important}
.placement-required-card p,.calibration-required-card p{margin:0!important;font-size:.82rem!important}
.calibration-card-meta{display:flex;gap:12px;margin-top:7px;color:var(--muted);font-size:.72rem}

/* Three-column dashboard row. */
.dashboard-secondary-grid{min-height:410px;margin-top:16px;display:grid;grid-template-columns:minmax(300px,30fr) minmax(410px,39.5fr) minmax(340px,30.5fr);gap:14px;direction:ltr;align-items:stretch}
.dashboard-secondary-grid>*{min-width:0;direction:rtl}
.review-card,.today-plan-card,.progress-card,.weekly-goal-card{padding:13px 14px!important}
.review-card>header,.today-plan-card>header,.progress-card>header,.home-recommendations>header{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.review-card h3,.today-plan-card h3,.progress-card h3,.weekly-goal-card h3,.home-recommendations h3{margin:0!important;font-size:1.08rem!important}
.review-card h3>span,.today-plan-card h3>span,.progress-card h3>span,.weekly-goal-card h3>span,.home-recommendations h3>span{color:#174e70}
.review-card h3>b{display:inline-grid;place-items:center;width:27px;height:27px;margin-inline-start:8px;border-radius:50%;background:#f0d8b7;color:#754112;font-size:.76rem}
.review-card header>button,.progress-card header>button,.home-recommendations header>button,.plan-customize{padding:3px 0!important;border:0!important;background:transparent!important;color:#145c8a!important;font-size:.72rem!important;font-weight:700!important;box-shadow:none!important}
.review-card>p,.today-plan-card>p{margin:1px 0 8px!important;color:#778398!important;font-size:.76rem!important}
.review-list{border:1px solid #efede8;border-radius:8px;overflow:hidden;background:#fff}
.review-list>button{width:100%;height:69px;display:grid;grid-template-columns:47px minmax(0,1fr) auto 18px;align-items:center;gap:9px;padding:7px 10px;border:0;border-bottom:1px solid #efede8;background:#fff;text-align:right;cursor:pointer}
.review-list>button:last-child{border-bottom:0}
.review-list>button:hover{background:#fafcfc}
.review-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;font-size:1.55rem}
.review-icon.blue{background:#e8f0f7;color:#1c4f73}.review-icon.cyan{background:#e6f3f6;color:#21718a}.review-icon.rose{background:#f8e8e2;color:#825044}
.review-list strong{display:grid;font-size:.88rem}
.review-list strong small{color:#66758a;font-size:.69rem;font-weight:500}
.review-list em{padding:4px 15px;border-radius:999px;background:#e3f1ec;color:#23735f;font-size:.7rem;font-style:normal;white-space:nowrap}
.review-list i{color:#6d7886;font-size:1.25rem;font-style:normal}
.review-start{width:100%;margin-top:12px;min-height:44px!important}

.today-plan-card{display:flex;flex-direction:column}
.today-plan-card>header{direction:ltr}.today-plan-card>header h3{direction:rtl}.plan-customize{direction:rtl}
.today-plan-card>.plan-label{display:none!important}
.today-plan-card .plan-list{display:grid!important;gap:0!important;margin:0!important;border:1px solid #efede8;border-radius:8px;overflow:hidden;background:#fff}
.today-plan-card .plan-item{min-height:52px;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto 28px;align-items:center;gap:8px;padding:6px 10px!important;border:0!important;border-bottom:1px solid #efede8!important;background:#fff!important;color:var(--ink)!important}
.today-plan-card .plan-item:last-child{border-bottom:0!important}
.today-plan-card .plan-item::before{content:"◉";width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ec6765,#bd4044);color:#fff;font-size:1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.today-plan-card .plan-item:nth-child(2)::before{content:"▯";background:linear-gradient(145deg,#1479b4,#0d5b90)}
.today-plan-card .plan-item:nth-child(3)::before{content:"◉";background:linear-gradient(145deg,#4ba78b,#277c68)}
.today-plan-card .plan-item:nth-child(4)::before{content:"▥";background:linear-gradient(145deg,#9566c4,#63389a)}
.today-plan-card .plan-item:nth-child(5)::before{content:"♪";background:linear-gradient(145deg,#df9a3e,#bd681b)}
.today-plan-card .plan-item>span:first-child{font-size:.84rem;font-weight:850}
.today-plan-card .plan-item>span:first-child::after{display:block;margin-top:1px;color:#718096;font-size:.68rem;font-weight:400}
.today-plan-card .plan-item:nth-child(1)>span:first-child::after{content:"קריאת תווים וקצב — תרגול קצר להתחלה מדויקת"}
.today-plan-card .plan-item:nth-child(2)>span:first-child::after{content:"סדרות אקורדים בפונקציות טונליות"}
.today-plan-card .plan-item:nth-child(3)>span:first-child::after{content:"זיהוי אקורדים בהקשר הרמוני"}
.today-plan-card .plan-item:nth-child(4)>span:first-child::after{content:"תרגול סולמות בידיים נפרדות ומשולבות"}
.today-plan-card .plan-item:nth-child(5)>span:first-child::after{content:"עבודה ממוקדת על היצירה הנוכחית"}
.today-plan-card .plan-item>span:last-child{grid-column:3;color:#5e6d80;font-size:.72rem;white-space:nowrap}
.today-plan-card .plan-item::after{content:"○";grid-column:4;color:#cbd1d5;font-size:1.45rem;line-height:1}
.plan-start{width:100%;min-height:36px!important;margin-top:7px!important;font-size:.78rem!important}

.progress-stack{display:grid;grid-template-rows:1fr 145px;gap:14px}
.progress-card{overflow:hidden}
.progress-rings{height:156px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:8px;direction:rtl}
.progress-ring{--ring:var(--blue);position:relative;width:92px;height:92px;display:grid;place-items:center;align-content:center;justify-self:center;border-radius:50%;background:radial-gradient(closest-side,#fff 76%,transparent 77% 99%),conic-gradient(var(--ring) calc(var(--value)*1%),#e9e7e2 0);color:var(--ring);text-align:center}
.progress-ring.amber{--ring:var(--orange)}.progress-ring.green{--ring:var(--teal)}
.progress-ring>span{font-size:1.05rem;line-height:1}.progress-ring>b{display:block;margin-top:4px;color:var(--ring);font-size:.88rem}.progress-ring>small{position:absolute;top:99px;width:100px;color:#24374e;font-size:.67rem;white-space:nowrap}
.weekly-goal-card{position:relative;padding:12px 15px!important}
.weekly-goal-card h3{margin-bottom:3px!important}.weekly-goal-card p{margin:0;color:#4e5f73;font-size:.79rem}.weekly-goal-card>small{display:block;margin-top:2px;color:#788497;font-size:.69rem}
.weekly-track{height:13px;margin:8px 0 3px;overflow:hidden;border-radius:999px;background:#e5e4df;direction:ltr}
.weekly-track i{display:block;width:60%;height:100%;border-radius:999px;background:linear-gradient(90deg,#2c947b,#22826f)}
.weekly-meta{display:flex;align-items:center;justify-content:space-between;color:#506073;font-size:.66rem}.weekly-meta b{color:#14745f;font-size:.72rem}

/* Recommendations row. */
.home-recommendations{margin-top:14px;padding:8px 12px 11px!important;overflow:hidden}
.home-recommendations>header{min-height:29px}.home-recommendations>header>button{color:#345a75!important}
.home-recommendations .home-shortcuts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:4px!important}
.home-recommendations .shortcut-card{position:relative;min-height:99px!important;display:grid!important;align-content:center!important;padding:12px 112px 12px 12px!important;overflow:hidden;border:1px solid #ece9e2!important;border-radius:8px!important;background:#fff!important;text-align:right!important;box-shadow:none!important;transform:none!important}
.home-recommendations .shortcut-card:hover{border-color:#cbd7dd!important;background:#fbfdfd!important;box-shadow:0 6px 18px rgba(30,55,72,.07)!important}
.home-recommendations .shortcut-card::before{content:""!important;position:absolute!important;right:0!important;top:0!important;bottom:0!important;width:100px!important;border-radius:0!important;background:linear-gradient(145deg,#d6c4ae,#f4eadc)!important;opacity:1!important}
.home-recommendations .shortcut-card::after{position:absolute;right:0;top:0;width:100px;height:100%;display:grid;place-items:center;color:#172638;font:2.8rem/1 Georgia,serif;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(0,0,0,.05))}
.home-recommendations .rec-ear::after{content:"◖";font-size:4.8rem;background:linear-gradient(135deg,#c6b8aa,#eee6dc)}
.home-recommendations .rec-score::after{content:"𝄞";background:repeating-linear-gradient(0deg,#eee9df 0 14px,#777 15px,#eee9df 16px)}
.home-recommendations .rec-piano::after{content:"▥";color:#eee;background:linear-gradient(135deg,#17191a,#5f5f5f)}
.home-recommendations .rec-reading::after{content:"♫";background:repeating-linear-gradient(0deg,#f2ece0 0 14px,#888 15px,#f2ece0 16px)}
.home-recommendations .shortcut-card>span{position:relative;margin:0!important;color:var(--ink)!important;font-size:.88rem!important;font-weight:850!important}.home-recommendations .shortcut-card>small{position:relative;margin-top:3px!important;color:#66758a!important;font-size:.68rem!important}.home-recommendations .shortcut-card>b{position:relative;margin-top:6px!important;color:#7a8390!important;font-size:.64rem!important;font-weight:500!important}
#view-home #teacherHomeShortcut,#view-home #governanceHomeShortcut{display:none!important}
#view-home>.today-reset-row,#view-home>#fluencySnapshot{display:none!important}

/* Other application pages inherit the same clean card system. */
.view-heading{max-width:none!important;margin:0 0 14px!important;padding:21px 24px!important;background:linear-gradient(135deg,#fffefa,#f7fafb)!important}
.view-heading h2{margin:.35rem 0!important;font-size:clamp(1.8rem,3vw,3rem)!important}
.view-heading p{max-width:850px!important;margin:0!important;color:#657286!important}
.section-head{align-items:center!important;border-bottom-color:var(--line)!important}
.section-head h3{color:var(--ink)!important}
.concept-box,.stage-guide,.feedback,.detail-feedback,.mode-hint{border-radius:9px!important;background:#f5f8f8!important}
.status-chip{border-color:#dce4e8!important;background:#f8fafb!important}
table{overflow:hidden!important;border-radius:10px!important;box-shadow:0 0 0 1px var(--line)!important}
th{background:#edf3f5!important;color:#3a5367!important}
tbody tr:hover{background:#f4f8fa!important}
.r4-path-folio{display:grid!important;grid-template-columns:minmax(250px,.48fr) minmax(0,1.52fr)!important;gap:16px!important;padding:18px!important}
.r4-path-folio>.view-heading{position:sticky!important;top:calc(var(--topbar) + 14px);margin:0!important;padding:8px 4px!important;border:0!important;background:transparent!important;box-shadow:none!important}
.curriculum-card.r4-syllabus{margin-top:14px!important;padding:20px!important}
.path-current-focus{border-radius:10px!important;background:linear-gradient(135deg,var(--navy),#245a76)!important;box-shadow:0 12px 26px rgba(23,59,85,.14)!important}
.path-current-focus .micro-label{color:#f4d899!important}.path-current-focus .primary{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}
.lesson-cards{margin-top:12px!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:10px!important}
.lesson-card{min-height:90px!important;padding:14px 16px!important;background:#fff!important}.lesson-card:hover{background:#f5f9fa!important}.lesson-card.active,.lesson-card.current{background:#edf5f8!important}
.lesson-workspace,.curriculum-v2-workspace{overflow:hidden!important}
.lesson-workspace-head,.trainer-head,.r4-practice-console>.section-head{background:#edf3f5!important}
.r4-practice-console,.r4-stage-console,.stage-lab{overflow:hidden!important}
.practice-tabs{background:#f5f7f7!important}.practice-tabs .tab:hover{background:#eaf1f4!important}.practice-tabs .tab.active{color:var(--navy)!important;border-inline-start-color:var(--navy)!important;background:#fff!important}
.practice-theory-note,.stage-meta,.dictionary-search{background:#edf3f5!important}
.r4-progress-dossier{overflow:hidden!important}.r4-dossier-section:first-child{background:#edf3f5!important}
#view-progress>.card,#view-progress>.grid{margin-top:14px!important;padding:20px!important}
.skill-map>*,.readiness-grid>*,.roadmap>*{background:#fff!important}
.open-repertoire-search,.open-repertoire-filters,.classical-library-toolbar{border-color:var(--line)!important;border-radius:10px!important;background:#eef3f5!important}
.open-repertoire-card,.classical-piece-card,.repertoire-card,.history-card,.instrument-card,.tool-card,.academic-card,.performance-card,.game-card,.arcade-card{margin-bottom:8px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;box-shadow:0 4px 15px rgba(23,41,66,.035)!important}
.open-repertoire-card:hover,.classical-piece-card:hover,.repertoire-card:hover{background:#f5f9fa!important;transform:translateY(-1px)!important}
.classical-piece-head,.classical-player-controls,.repertoire-player-controls,.guided-listening-controls{background:#edf3f5!important}
.classical-score-viewport,.continuous-score-viewport,.local-score-viewport{background:#dfe4e6!important}
.tt-home-layout{gap:12px!important;border:0!important;background:transparent!important}.tt-menu-stack,.tt-main-panel,.tt-side-stack{overflow:hidden!important}.tt-menu-stack :where(button,.tt-menu-item):hover{background:#edf3f5!important}.tt-menu-stack :where(button,.tt-menu-item).active{color:var(--navy)!important;border-inline-start-color:var(--navy)!important;background:#edf5f8!important}
.tt-player-shell{overflow:hidden!important;border-radius:12px!important;background:linear-gradient(150deg,#122b40,#1d465f)!important;box-shadow:var(--shadow-hover)!important}
.tt-transport{border-color:#31526a!important;background:#112d42!important}.tt-mini-progress>*,.tt-goal-progress>*{background:var(--teal)!important}
:where(#view-history,#view-program,#view-performance,#view-institution,#view-governance,#view-tools,#view-instruments,#view-games,#view-arcade)>.card{margin-bottom:14px!important;padding:20px!important}
.placement-card,.calibration-card,.note-speed-card,.daily-session-card,.learning-preferences-card{border:1px solid var(--line)!important;border-radius:16px!important;background:#fffefa!important;box-shadow:0 24px 70px rgba(13,31,46,.2)!important}
.daily-progress,.daily-overall,.placement-progress,.calibration-overall,.bar{overflow:hidden!important;border-radius:999px!important;background:#dfe8e7!important}.daily-progress>*,.daily-overall>*,.placement-progress>*,.calibration-overall>*,.bar>i{background:linear-gradient(90deg,var(--teal),#45a38b)!important}
.teacher-backdrop:not(.open){display:none!important}
.teacher-drawer:not(.open){visibility:hidden!important;pointer-events:none!important;transform:translateX(110%)!important}

/* Auth uses the same warm paper, navy and restrained spacing. */
.auth-shell{background:linear-gradient(135deg,#f6f3ec,#e9eef1)!important}
.auth-card{grid-template-columns:minmax(390px,45%) minmax(420px,55%)!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--paper)!important;box-shadow:0 24px 75px rgba(20,38,60,.16)!important}
.auth-brand{background:linear-gradient(180deg,rgba(10,23,34,.13),rgba(10,23,34,.75)),url("assets/ui/reference-piano-hero-r7.png") 38% center/cover no-repeat!important}
.auth-brand::before,.auth-brand::after{display:none!important}
.auth-brand h1{font-size:clamp(3rem,5vw,5rem)!important}.auth-note{border:0!important;border-radius:12px!important;background:rgba(255,255,255,.13)!important;color:#f5d38b!important;backdrop-filter:blur(8px)}
.auth-tabs button.active{border-bottom-color:var(--navy)!important;color:var(--navy)!important}

.card,.shortcut-card,.open-repertoire-card,.classical-piece-card,.repertoire-card{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}

@media (max-width:1280px){
  :root{--topbar:118px}
  .guided-topbar{grid-template-columns:210px minmax(300px,1fr) 280px;grid-template-rows:59px 59px;grid-template-areas:"brand search actions" "nav nav nav"}
  .app-nav{border-top:1px solid var(--line)!important}.nav-item{min-width:104px!important}
  .guided-shell{width:min(var(--wide),calc(100% - 28px))!important}
  .r4-home-stage{grid-template-columns:minmax(350px,39fr) minmax(0,61fr)!important}.today-focus-card{grid-template-columns:235px minmax(0,1fr)!important}.lesson-meta{left:145px}.lesson-focus-copy>#startDaily{width:132px}
  .dashboard-secondary-grid{grid-template-columns:minmax(280px,30fr) minmax(370px,39.5fr) minmax(310px,30.5fr)}
  .progress-ring{width:76px;height:76px}.progress-ring>small{top:83px;width:82px}.progress-rings{height:140px}
}

@media (max-width:980px){
  :root{--topbar:118px}
  .guided-topbar{grid-template-columns:auto minmax(0,1fr);grid-template-rows:59px 59px;grid-template-areas:"brand search" "nav nav";padding:0 14px!important}
  .top-actions{display:none!important}.brand-lockup h1{font-size:1.15rem!important}.brand-lockup p{display:none}.brand-mark{width:31px!important}
  .app-nav{justify-content:flex-start!important;overflow-x:auto!important;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.nav-item{min-width:20%!important;padding:0 9px!important;font-size:.76rem!important}
  .r4-home-stage{grid-template-columns:1fr!important;grid-template-rows:auto auto!important}.home-intro{grid-column:1!important;grid-row:2!important;min-height:270px!important}.home-next-column{grid-column:1!important;grid-row:1!important}.today-focus-card{min-height:250px!important}
  .dashboard-secondary-grid{grid-template-columns:1fr 1fr!important}.review-card{grid-column:1}.today-plan-card{grid-column:2}.progress-stack{grid-column:1/3;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr}
  .home-recommendations .home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .r4-path-folio{grid-template-columns:1fr!important}.r4-path-folio>.view-heading{position:static!important}
}

@media (max-width:680px){
  body{font-size:14px}
  .guided-topbar{grid-template-columns:124px minmax(0,1fr)}
  .brand-mark{width:25px!important;height:38px!important;font-size:1.8rem!important}.brand-mark::after{display:none}.brand-lockup{gap:4px!important}.brand-lockup h1{font-size:1rem!important}
  .global-search-box{height:36px!important;min-height:36px!important}.global-search-box input{font-size:.72rem!important}
  .nav-item{min-width:20%!important;flex:0 0 20%!important;flex-direction:column!important;gap:2px!important;padding:0 4px!important;font-size:.64rem!important}.nav-item .nav-icon{font-size:.93rem!important}
  .guided-shell{width:calc(100% - 20px)!important;padding-top:10px!important}
  .home-next-column{grid-template-rows:auto auto;gap:8px}.dashboard-heading{padding:0 4px 4px}.dashboard-heading h2{font-size:1.55rem!important}.dashboard-heading p{font-size:.82rem!important}
  .today-focus-card{grid-template-columns:1fr!important;grid-template-rows:170px auto!important;padding:9px!important}.lesson-preview-visual{grid-column:1;grid-row:1;min-height:0}.lesson-focus-copy{grid-column:1;grid-row:2;padding:12px 5px 55px!important}.lesson-meta{right:5px;left:5px;bottom:48px;gap:7px;font-size:.62rem;overflow-x:auto}.lesson-focus-copy>#startDaily{right:5px;left:5px;bottom:0;width:calc(100% - 10px)}.preview-play{right:calc(50% - 24px);top:auto;bottom:-24px;transform:none}
  .home-intro{min-height:238px!important;padding:30px 24px!important;background-position:35% center!important}.home-intro-copy{max-width:230px!important}.home-intro blockquote{font-size:1.08rem}
  .dashboard-secondary-grid{grid-template-columns:1fr!important}.review-card,.today-plan-card,.progress-stack{grid-column:1}.progress-stack{grid-template-columns:1fr;grid-template-rows:auto auto}.progress-rings{height:132px;gap:2px}.progress-ring{width:68px;height:68px}.progress-ring>small{top:74px;width:72px;font-size:.6rem}
  .today-plan-card .plan-item{grid-template-columns:38px minmax(0,1fr) auto 24px}.today-plan-card .plan-item>span:first-child::after{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-recommendations .home-shortcuts{grid-template-columns:1fr!important}.home-recommendations .shortcut-card{min-height:92px!important}
  .placement-required-card,.calibration-required-card{grid-template-columns:1fr;padding:15px!important}
  .view-heading{padding:17px!important}.view-heading h2{font-size:1.8rem!important}
  .auth-card{display:block!important;min-height:100dvh!important;border-radius:0!important}.auth-brand{min-height:245px!important;padding:34px 22px!important}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ======================================================================
   R7 COMPLETION — Full-site UX/UI integration pass
   2026-09-26
   ====================================================================== */

/* ---------- Stable typography: keep the R7 family, improve rhythm ---------- */
:root{
  --ui:"Segoe UI","Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;
  --display:"Segoe UI Semibold","Segoe UI","Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;
  --reading:"Segoe UI","Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;
  --mono:"Cascadia Mono","Cascadia Code",Consolas,"Courier New",monospace;
  --space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:24px;--space-6:32px;--space-7:42px;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--ui)!important;font-size:16px!important;line-height:1.55!important;font-kerning:normal;text-rendering:optimizeLegibility;overflow-x:hidden}
button,input,select,textarea{font-family:var(--ui)!important;line-height:1.35}
input,select,textarea{font-size:.96rem!important}
h1,h2,h3,h4,h5,h6{font-family:var(--display)!important;font-weight:700!important;letter-spacing:0!important;line-height:1.24!important;text-wrap:balance}
p,li,dd,dt,blockquote{font-family:var(--reading);line-height:1.65}
p b,p strong,li b,li strong{font-weight:600}
small,.small{font-size:.82rem!important;line-height:1.5}
code,kbd,pre,.code,.ltr.sequence{font-family:var(--mono)}

/* Teacher Q&A is retired from the learner UI. Keep legacy DOM only for JS compatibility. */
#topAskTeacher,#lessonAskTeacher,#floatingTeacher,#teacherBackdrop,#teacherSection{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.teacher-open{overflow:auto!important}

/* ---------- Layout safety ---------- */
:where(
  .guided-topbar,.app-nav,.guided-shell,.app-view,.card,.view-heading,.section-head,
  .r4-home-stage,.home-next-column,.today-focus-card,.dashboard-secondary-grid,.progress-stack,
  .home-shortcuts,.r4-path-folio,.curriculum-card,.curriculum-v2-library,.curriculum-v2-chapter,
  .curriculum-v2-lesson-row,.lesson-workspace,.lesson-content,.curriculum-v2-workspace,
  .r4-practice-console,.practice-panel,.panel-copy,.trainer,.r4-stage-console,.stage-lab,
  .r4-progress-dossier,.r4-dossier-section,.open-repertoire-search,.open-repertoire-grid,
  .open-repertoire-card,.classical-piece-card,.repertoire-card,.tt-home-layout,.tt-menu-stack,
  .tt-main-panel,.tt-side-stack,.tt-exercise-menu,.tt-compact-exercise,.tt-player-shell,
  .academy-overview,.academy-workspace,.exam-workspace,.tools-orientation,.tools-nav-card,.rc6-panel,
  .dictionary-layout,.account-capacity-grid,.progress-support-grid
)>*{min-width:0}
:where(p,li,dd,dt,label,small,.muted,.feedback,.detail-feedback,.mode-hint,.concept-box,.stage-guide,.lesson-content,.academy-workspace,.rc6-panel,td,th){overflow-wrap:anywhere;word-break:normal}
:where(.ltr,[dir="ltr"],code,pre,.sequence){overflow-wrap:normal;word-break:normal}
img,video,canvas,iframe{max-width:100%;height:auto}
iframe{width:100%}
pre{max-width:100%;overflow-x:auto}
.row-actions{flex-wrap:wrap}
.row-actions>button{max-width:100%}

/* ---------- Controls: no browser-default surfaces ---------- */
button:not(.nav-item):not(.reference-notification){appearance:none}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6f7d8c 50%),linear-gradient(135deg,#6f7d8c 50%,transparent 50%)!important;background-position:16px 50%,11px 50%!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;padding-inline-start:30px!important}
input[type="checkbox"],input[type="radio"]{accent-color:var(--navy)}
input[type="range"]{accent-color:var(--teal)}

/* ---------- Navigation / More ---------- */
.mobile-more-nav{display:flex!important}
.mobile-nav-sheet.hidden{display:none!important}
.mobile-nav-sheet:not(.hidden){position:fixed!important;inset:0!important;z-index:1200!important;display:grid!important;place-items:start center!important;padding:86px 18px 24px!important;background:rgba(13,28,42,.48)!important;backdrop-filter:blur(8px)}
.mobile-nav-card{width:min(880px,100%);max-height:calc(100dvh - 112px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fffefa;box-shadow:0 28px 90px rgba(14,31,46,.28)}
.mobile-nav-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.mobile-nav-card h2{margin:3px 0 4px;font-size:1.45rem}.mobile-nav-card p{margin:0;color:var(--muted)}
.mobile-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:16px}
.mobile-nav-choice{min-height:92px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;padding:14px;text-align:right;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}
.mobile-nav-choice:hover{border-color:#b9cbd5;background:#f5f9fa}.mobile-nav-choice>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eaf3f7;color:var(--navy);font-size:1.1rem}.mobile-nav-choice>b{align-self:end}.mobile-nav-choice>small{color:var(--muted)}
body.mobile-nav-open{overflow:hidden}

/* ---------- Curriculum / Topics ---------- */
.curriculum-v2-active #view-path>#curriculum{display:none!important}
.curriculum-v2-active #view-path #masteryPathMount{display:none!important}
#view-path .r4-path-folio{grid-template-columns:minmax(250px,310px) minmax(0,1fr)!important;gap:18px!important;align-items:start!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#view-path .r4-path-folio>.view-heading{position:sticky!important;top:calc(var(--topbar) + 16px)!important;padding:26px 22px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:linear-gradient(160deg,#fffefa,#f0f5f6)!important;box-shadow:var(--shadow)!important}
#view-path .r4-path-folio>.view-heading .pill{margin-bottom:8px}
#view-path .r4-path-folio>.view-heading h2{font-size:2.5rem!important;line-height:1.05!important}
#view-path .r4-path-folio>.view-heading p{font-size:.98rem!important;line-height:1.7!important}
.curriculum-v2-library{display:grid;gap:12px}
.curriculum-v2-library-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,360px)!important;align-items:end;gap:24px;padding:22px 24px!important}
.curriculum-v2-library-head h3{margin:4px 0 7px!important;font-size:1.55rem!important}.curriculum-v2-library-head p{max-width:720px;margin:0!important;color:var(--muted)}
.curriculum-v2-search{display:grid;gap:6px;color:var(--ink-soft);font-size:.8rem;font-weight:600}.curriculum-v2-search input{height:44px}
.curriculum-v2-chapters{display:grid;gap:10px}
.curriculum-v2-chapter{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 13px rgba(23,41,66,.035)}
.curriculum-v2-chapter>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 20px;background:#fff}
.curriculum-v2-chapter>summary::-webkit-details-marker{display:none}
.curriculum-v2-chapter>summary:hover{background:#f7fafb}
.curriculum-v2-chapter[open]>summary{border-bottom:1px solid var(--line);background:#f7fafb}
.curriculum-v2-chapter>summary>div{display:grid;gap:3px}.curriculum-v2-chapter>summary span{color:var(--blue);font-size:.72rem;font-weight:700}.curriculum-v2-chapter>summary b{font-size:1.08rem;font-weight:700}.curriculum-v2-chapter>summary small{max-width:780px;color:var(--muted);font-size:.82rem!important}.curriculum-v2-chapter>summary em{padding:6px 10px;border-radius:999px;background:#eef3f5;color:#43566c;font-size:.78rem;font-style:normal;white-space:nowrap}
.curriculum-v2-chapter-guide{display:grid;grid-template-columns:150px minmax(0,1fr);gap:5px 18px;padding:14px 20px;background:#fbfaf6;border-bottom:1px solid var(--line)}
.curriculum-v2-chapter-guide>b{grid-row:1/3;color:var(--navy)}.curriculum-v2-chapter-guide p{margin:0;color:var(--ink-soft)}.curriculum-v2-chapter-guide span{color:var(--muted);font-size:.82rem}
.curriculum-v2-lesson-list{display:grid}
.curriculum-v2-lesson-row{width:100%;min-height:76px;display:grid;grid-template-columns:40px minmax(0,1fr) minmax(120px,auto);gap:12px;align-items:center;padding:12px 18px;text-align:right;border:0;border-bottom:1px solid #efede8;background:#fff;color:var(--ink)}
.curriculum-v2-lesson-row:last-child{border-bottom:0}.curriculum-v2-lesson-row:hover{background:#f8fbfb}.curriculum-v2-lesson-row>span:nth-child(2){display:grid;gap:3px}.curriculum-v2-lesson-row>span:nth-child(2)>b{display:block;font-size:.93rem;font-weight:700;line-height:1.35}.curriculum-v2-lesson-row>span:nth-child(2)>small{display:block;color:var(--muted);font-size:.8rem!important;line-height:1.45}.curriculum-v2-lesson-row>em{justify-self:end;padding:5px 9px;border-radius:999px;background:#f0f2f3;color:#667486;font-size:.74rem;font-style:normal;white-space:nowrap}.curriculum-v2-lesson-state{width:28px;height:28px;display:grid;place-items:center;border:1px solid #d9e0e3;border-radius:50%;color:#718090;background:#fff}
.curriculum-v2-lesson-row.recommended{background:#f2f7f8;box-shadow:inset -4px 0 0 var(--navy)}.curriculum-v2-lesson-row.recommended .curriculum-v2-lesson-state{border-color:var(--navy);background:var(--navy);color:#fff}.curriculum-v2-lesson-row.learned .curriculum-v2-lesson-state{border-color:#94c8b9;background:#e4f3ee;color:#24755f}.curriculum-v2-lesson-row.learned>em{background:#e6f3ef;color:#27755f}.curriculum-v2-lesson-row.in_progress>em{background:#eaf3f7;color:#1f668f}.curriculum-v2-lesson-row.read>em{background:#f5f0e6;color:#80632b}
.curriculum-v2-checkpoint-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 20px;border-top:1px solid var(--line);background:#f5f8f8}.curriculum-v2-checkpoint-row>div{display:grid;gap:3px}.curriculum-v2-checkpoint-row b{font-size:.9rem}.curriculum-v2-checkpoint-row small{color:var(--muted)}
.curriculum-v2-empty{display:grid;gap:3px;padding:20px;border:1px dashed var(--line-strong);border-radius:10px;background:#fbfaf6}.curriculum-v2-empty span{color:var(--muted)}

/* Lesson article */
.curriculum-lesson-page-shell{max-width:1260px!important;margin:0 auto}.curriculum-v2-workspace{overflow:hidden!important;border-radius:14px!important;background:#fff!important}
.curriculum-v2-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:26px 30px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8fbfb,#fffefa)}
.curriculum-v2-workspace-head>div:first-child{max-width:820px}.curriculum-v2-workspace-head h2{margin:5px 0 6px!important;font-size:2rem!important}.curriculum-v2-workspace-head p{margin:0;color:var(--muted);font-size:.98rem}.lesson-page-actions{display:flex;gap:8px;flex-wrap:wrap}
.v3-lesson-article{max-width:960px;margin:0 auto;padding:34px clamp(20px,5vw,62px) 42px}.v3-lesson-article>section,.v3-lesson-article>div{margin-bottom:22px}.v3-lesson-article h3{font-size:1.34rem}.v3-lesson-article p,.v3-lesson-article li{font-size:1rem;line-height:1.75}.v3-opening,.v3-why,.v3-guided,.v3-application,.v3-recap,.v3-retrieval,.v3-worked-example{padding:20px 22px;border:1px solid var(--line);border-radius:11px;background:#fff}.v3-why{background:#f7fafb}.v3-guided{border-inline-start:4px solid var(--teal)}.v3-worked-example{border-inline-start:4px solid var(--gold);background:#fcfaf5}.v3-recap{background:#f2f7f5}.v3-section-label{margin-bottom:6px;color:var(--blue);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.teacher-coach-note{padding:12px 14px;border-radius:8px;background:#edf5f3;color:#385b54}.curriculum-v2-complete-row,.curriculum-v2-after-complete,.curriculum-v2-nav{max-width:960px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;border:1px solid var(--line);border-radius:11px;background:#faf9f5}.curriculum-v2-after-complete>div:first-child{min-width:0}.curriculum-v2-after-complete h3{margin:3px 0}.curriculum-v2-after-complete p{margin:0;color:var(--muted)}.curriculum-v2-nav{margin-bottom:32px;background:#f3f7f8}

/* ---------- Technical Training / Practice Workbench ---------- */
#technicalTrainingApp{max-width:1460px;margin:0 auto}
#technicalTrainingApp>.tt-heading{padding:24px 26px!important}
.tt-heading h2{font-size:2.45rem!important}.tt-heading p{max-width:980px!important;line-height:1.65!important}
#technicalTrainingApp>.card{margin-bottom:12px!important;padding:20px!important}
.tt-reliability-card.compact{display:flex;align-items:center;justify-content:space-between;gap:16px}.tt-reliability-card.compact>div{display:grid;gap:3px}.tt-network-state{padding:5px 9px;border-radius:999px;background:#eef1f2;color:#5e6c7c;font-size:.76rem;font-weight:700}.tt-network-state.online{background:#e7f4ef;color:#25725c}.tt-network-state.offline{background:#faeded;color:#9a4248}
.tt-goal-form{display:grid;grid-template-columns:1.25fr repeat(2,minmax(150px,.7fr)) auto;gap:12px;align-items:end}.tt-goal-form label,.tt-duration,.tt-toggle{display:grid;gap:6px;color:var(--ink-soft);font-size:.8rem;font-weight:600}.tt-goal-form input,.tt-goal-form select{min-height:42px}.tt-goal-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.tt-goal-progress>div{display:grid;gap:6px}.tt-goal-progress span{color:var(--muted);font-size:.78rem}.tt-goal-progress i{height:8px;overflow:hidden;border-radius:999px;background:#e4e8e7}.tt-goal-progress i>b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),#4aa58e)}
.tt-routine-list{display:grid;gap:8px}.tt-routine-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#fff}.tt-routine-row.today{border-color:#b7d9cf;background:#f2f8f6}.tt-routine-row>div:first-child{display:grid;gap:2px}.tt-routine-row>div:first-child>span{color:var(--blue);font-size:.72rem;font-weight:700}.tt-routine-row>div:first-child>b{font-size:.95rem}.tt-routine-row>div:first-child>small{color:var(--muted)}.tt-routine-actions{display:flex;gap:6px;flex-wrap:wrap}
.tt-daily-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.tt-daily-head h3{margin:3px 0 5px}.tt-daily-head p{max-width:900px;margin:0;color:var(--muted)}.tt-daily-duration{min-width:120px;padding:10px 12px;border-radius:9px;background:#eef4f5;text-align:center}.tt-daily-duration span{display:block;color:var(--muted);font-size:.75rem}.tt-daily-duration b{font-size:1.1rem}.tt-daily-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tt-daily-presets>button{min-width:64px;min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff}.tt-daily-presets>button.active{border-color:var(--navy);background:#edf5f8;color:var(--navy);font-weight:700}.tt-custom-time{display:flex;gap:6px}.tt-custom-time input{width:84px;min-height:38px}
.tt-progress-kpis,.tt-skill-kpis,.tt-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.tt-progress-kpis>div,.tt-skill-kpis>div,.tt-summary-grid>div{padding:13px;border:1px solid var(--line);border-radius:9px;background:#f9faf8}.tt-progress-kpis span,.tt-skill-kpis span,.tt-summary-grid span{display:block;color:var(--muted);font-size:.72rem}.tt-progress-kpis b,.tt-skill-kpis b,.tt-summary-grid b{display:block;margin-top:3px;font-size:1.18rem}.tt-progress-families,.tt-skill-families{display:grid;gap:7px}.tt-progress-family,.tt-skill-family{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #efede8}.tt-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e4e8e7}.tt-progress-track>i{display:block;height:100%;border-radius:999px;background:var(--teal)}
.tt-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.tt-overview{padding:17px!important}.tt-overview>b{display:block;margin:5px 0 3px;font-size:1.05rem}.tt-overview p{margin:0;color:var(--muted)}
.tt-home-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;gap:12px!important;align-items:start!important;border:0!important;background:transparent!important}
.tt-menu-stack{display:grid!important;gap:9px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.tt-exercise-menu{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 3px 13px rgba(23,41,66,.035)}.tt-exercise-menu>summary{list-style:none;display:grid;grid-template-columns:42px minmax(0,1fr) 110px 24px;gap:10px;align-items:center;min-height:66px;padding:10px 14px;cursor:pointer}.tt-exercise-menu>summary::-webkit-details-marker{display:none}.tt-exercise-menu>summary:hover{background:#f7fafb}.tt-exercise-menu[open]>summary{border-bottom:1px solid var(--line);background:#f7fafb}.tt-menu-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eaf3f7;color:var(--navy);font-weight:700}.tt-menu-title{display:grid;gap:2px}.tt-menu-title>b{font-size:.9rem}.tt-menu-title>small{color:var(--muted)}.tt-menu-count{display:grid;justify-items:end}.tt-menu-count>b{font-size:.9rem}.tt-menu-count>small{color:var(--muted);font-size:.72rem!important}.tt-menu-chevron{color:#687789;font-size:1.1rem;transition:transform .16s ease}.tt-exercise-menu[open] .tt-menu-chevron{transform:rotate(180deg)}
.tt-compact-list{display:grid}.tt-compact-exercise{display:grid;grid-template-columns:54px minmax(0,1fr) 125px 76px;gap:12px;align-items:center;min-height:66px;padding:9px 14px;border-bottom:1px solid #f0eee8}.tt-compact-exercise:last-child{border-bottom:0}.tt-compact-exercise:hover{background:#fbfcfc}.tt-compact-exercise.locked{opacity:.62}.tt-compact-number{color:var(--blue);font-weight:700}.tt-compact-main{display:grid;gap:2px}.tt-compact-main>b{font-size:.88rem}.tt-compact-main>small{color:var(--muted)}.tt-compact-lock{color:#95565c!important}.tt-compact-status{justify-self:end;padding:4px 8px;border-radius:999px;background:#eef2f3;color:#536476;font-size:.72rem}.tt-compact-status.ready{background:#e7f3ef;color:#28735f}.tt-compact-start{min-height:34px!important;padding:5px 10px!important;font-size:.76rem!important}
.tt-side-stack{display:grid!important;gap:12px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;position:sticky;top:calc(var(--topbar) + 14px)}.tt-side-stack>.card{margin:0!important;padding:16px!important}.tt-recent-row,.tt-pb-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:9px 0;border-bottom:1px solid #efede8}.tt-recent-row:last-child,.tt-pb-row:last-child{border-bottom:0}.tt-recent-row span,.tt-pb-row span{font-size:.82rem}.tt-recent-row b,.tt-pb-row b{font-size:.8rem}.tt-recent-row small,.tt-pb-row small{grid-column:1/-1;color:var(--muted)}

/* Player */
.tt-player-shell{overflow:hidden!important;border-radius:14px!important;background:#fff!important;color:var(--ink)!important;box-shadow:var(--shadow-hover)!important}.tt-player-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#173b55,#235a77);color:#fff}.tt-player-top h2{margin:3px 0 0;color:#fff!important}.tt-player-top .micro-label,.tt-player-top .tt-player-save{color:#d7e6ee!important}.tt-player-top .ghost{border-color:rgba(255,255,255,.3)!important;background:rgba(255,255,255,.08)!important;color:#fff!important}.tt-instruction{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;margin:12px!important;padding:18px!important}.tt-instruction p{margin:4px 0}.tt-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-block:1px solid var(--line);background:#f4f7f8}.tt-status-strip>div{padding:12px 16px;border-inline-start:1px solid var(--line)}.tt-status-strip>div:last-child{border-inline-start:0}.tt-status-strip span{display:block;color:var(--muted);font-size:.72rem}.tt-status-strip b{display:block;margin-top:2px}.tt-score-card{margin:12px!important;padding:0!important;overflow:hidden}.tt-score-stage{min-height:360px;padding:16px;background:#fff!important}.tt-score-viewport{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}.tt-score-track{min-width:max-content}.tt-score-legend{display:flex;gap:14px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line);background:#f7f8f8;color:var(--muted);font-size:.76rem}.tt-controls{margin:12px!important;padding:0!important}.tt-transport{padding:12px 14px!important;background:#eef3f5!important;border:0!important}.tt-control-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:14px}.tt-tempo-control{display:flex;align-items:center;gap:6px}.tt-tempo-control button{min-width:42px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff}.tt-tempo-control strong{min-width:94px;text-align:center}.tt-toggle{grid-template-columns:auto 1fr;align-items:center}.tt-feedback{margin:12px!important;padding:18px!important}.tt-feedback-buttons,.tt-feedback-extra{display:flex;gap:8px;flex-wrap:wrap}.tt-feedback-extra label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.8rem}

/* ---------- Repertoire / Classical ---------- */
#classicalApp{display:grid;gap:12px}.classical-heading,.classical-subnav{min-width:0}
.classical-library-status{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px!important}.classical-library-status h3{margin:4px 0 5px;font-size:1.5rem}.classical-library-status p{max-width:900px;margin:0 0 4px;color:var(--muted)}.library-status-count{min-width:115px;padding:12px;border-radius:10px;background:#eaf3f7;text-align:center}.library-status-count b{display:block;color:var(--navy);font-size:1.8rem}.library-status-count span{color:var(--muted);font-size:.75rem}
.open-repertoire-search{padding:18px!important;background:#fff!important}.open-repertoire-search>.section-head{margin-bottom:12px}.open-repertoire-filters{display:grid!important;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.55fr) minmax(170px,.65fr)!important;gap:10px!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#f6f8f8!important}.open-repertoire-filters label{display:grid;gap:5px;color:var(--ink-soft);font-size:.78rem;font-weight:600}.open-repertoire-filters .wide{grid-column:auto}.open-repertoire-advanced{margin-top:10px;border:1px solid var(--line);border-radius:9px;background:#fbfaf7}.open-repertoire-advanced>summary{padding:10px 12px;cursor:pointer;font-weight:600}.open-repertoire-advanced .advanced-filters{grid-template-columns:repeat(4,minmax(0,1fr))!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important}.open-repertoire-note{padding:10px 12px;border-inline-start:3px solid var(--teal);background:#f4f8f7;color:var(--ink-soft);font-size:.82rem}.open-repertoire-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 9px}.open-repertoire-result-head span{color:var(--muted);font-size:.8rem}.open-repertoire-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;border:0!important;background:transparent!important}.open-repertoire-card{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;align-content:start!important;margin:0!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}.open-repertoire-card:hover{border-color:#c6d6de!important;background:#fbfdfd!important}.open-repertoire-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.open-repertoire-card h3{margin:2px 0!important;font-size:1rem!important}.open-repertoire-card .piece-byline{margin:0!important;color:var(--muted);font-size:.8rem}.open-repertoire-card>.primary,.open-repertoire-card>.secondary{justify-self:start;margin-top:4px}.open-repertoire-card details{margin-top:4px}.open-repertoire-card details>summary{cursor:pointer;color:var(--blue);font-size:.78rem}.open-repertoire-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:.75rem}.open-repertoire-provenance{display:block;margin-top:6px;color:var(--muted);font-size:.74rem}.open-repertoire-more{display:block!important;margin:14px auto 2px!important}.sample-badge,.open-repertoire-level{padding:4px 7px;border-radius:999px;background:#eef2f3;color:#536476;font-size:.68rem}.sample-badge.verified{background:#e7f3ef;color:#28735f}
.classical-piece-card{grid-template-columns:110px minmax(0,1fr)!important;gap:16px!important;padding:16px!important}.piece-cover{min-height:132px;display:grid;place-items:center;align-content:center;gap:6px;border-radius:9px;background:linear-gradient(145deg,#f0e7d7,#fffdf8);color:#5a4935}.piece-cover>b{font:2.6rem/1 Georgia,serif}.piece-title{margin:3px 0!important}.piece-byline,.piece-focus{color:var(--muted)}.piece-tags,.piece-source-mini,.piece-technical-prep-tags{display:flex;gap:6px;flex-wrap:wrap}.piece-tags>span,.piece-source-mini>span,.piece-technical-prep-tags>span{padding:4px 7px;border-radius:999px;background:#f0f2f3;color:#5d6877;font-size:.72rem}
.classical-score-viewport,.continuous-score-viewport,.local-score-viewport{max-width:100%;overflow:auto!important;overscroll-behavior-inline:contain}.continuous-score-sheet,.classical-score-sheet,.local-score-sheet{width:auto!important;max-width:none!important;height:auto!important}.classical-player-controls,.repertoire-player-controls,.guided-listening-controls{gap:8px!important;flex-wrap:wrap!important}

/* ---------- Progress: one report language ---------- */
#view-progress>.r4-progress-heading{display:block!important;padding:22px 24px!important}.r4-progress-heading h2{font-size:2.35rem!important}.r4-progress-heading p{max-width:900px!important}
.r4-progress-dossier{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-bottom:12px!important;border:0!important;background:transparent!important}
.r4-dossier-section{margin:0!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;box-shadow:var(--shadow)!important}.r4-dossier-section:first-child{grid-column:1/-1!important;background:linear-gradient(135deg,#edf4f5,#fffefa)!important}.r4-dossier-section .section-head{margin-bottom:10px}.progress-narrative{font-size:.96rem;line-height:1.7}.classical-progress-bridge,.game-progress-bridge,.arcade-progress-bridge,.instrument-progress-bridge{min-height:140px}.classical-progress-bridge :where(button,.secondary),.game-progress-bridge :where(button,.secondary),.arcade-progress-bridge :where(button,.secondary),.instrument-progress-bridge :where(button,.secondary){margin-top:8px}
#view-progress>.card,#view-progress>.grid{margin-top:12px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;box-shadow:var(--shadow)!important}.skill-map,.readiness-grid,.roadmap{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;border:0!important}.skill-map>*,.readiness-grid>*,.roadmap>*{padding:14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f9faf9!important}.road-card.active{border-color:#b7ccd7!important;background:#eef5f8!important}.phase-detail{margin-top:10px;padding:16px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fbfaf7!important}.progress-support-grid{gap:12px!important}.coach-message{border-radius:9px!important;background:#f6f9f9!important}

/* ---------- Generic dynamic modules ---------- */
:where(.academy-levels,.exam-topic-grid,.gate-grid,.numbers-grid,.tools-orientation-grid){gap:8px!important;border:0!important}
:where(.academy-levels,.exam-topic-grid,.gate-grid,.numbers-grid,.tools-orientation-grid)>*{border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}
:where(.history-card,.instrument-card,.tool-card,.academic-card,.performance-card,.game-card,.arcade-card){overflow:hidden!important}

/* ---------- Responsive ---------- */
@media (max-width:1420px) and (min-width:981px){
  :root{--topbar:118px}
  .guided-topbar{grid-template-columns:210px minmax(240px,1fr) minmax(220px,290px)!important;grid-template-rows:59px 59px!important;grid-template-areas:"brand search actions" "nav nav nav"!important}
  .app-nav{border-top:1px solid var(--line)!important;overflow-x:auto!important;justify-content:flex-start!important;scrollbar-width:thin}.nav-item{min-width:96px!important;padding-inline:13px!important}.guided-shell{width:min(var(--wide),calc(100% - 28px))!important}
  .tt-home-layout{grid-template-columns:minmax(0,1fr) 280px!important}
}
@media (max-width:1100px){
  .curriculum-v2-library-head{grid-template-columns:1fr!important}.curriculum-v2-search{max-width:520px}
  .tt-goal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-goal-form .primary{align-self:end}
  .tt-progress-kpis,.tt-skill-kpis,.tt-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .open-repertoire-grid{grid-template-columns:1fr!important}.open-repertoire-advanced .advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .r4-progress-dossier{grid-template-columns:1fr!important}.r4-dossier-section:first-child{grid-column:auto!important}
}
@media (max-width:980px){
  .mobile-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #view-path .r4-path-folio{grid-template-columns:1fr!important}#view-path .r4-path-folio>.view-heading{position:static!important}
  .tt-home-layout{grid-template-columns:1fr!important}.tt-side-stack{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.tt-side-stack>.card{min-width:0}
  .open-repertoire-filters{grid-template-columns:1fr 1fr!important}.classical-library-status{align-items:flex-start}.library-status-count{min-width:96px}
}
@media (max-width:760px){
  body{font-size:15px!important}
  .mobile-nav-sheet:not(.hidden){padding:72px 10px 12px!important}.mobile-nav-grid{grid-template-columns:1fr}.mobile-nav-card{padding:16px}
  .curriculum-v2-library-head{padding:17px!important}.curriculum-v2-chapter>summary{grid-template-columns:1fr!important}.curriculum-v2-chapter>summary em{justify-self:start}.curriculum-v2-chapter-guide{grid-template-columns:1fr}.curriculum-v2-chapter-guide>b{grid-row:auto}.curriculum-v2-lesson-row{grid-template-columns:34px minmax(0,1fr);gap:9px}.curriculum-v2-lesson-row>em{grid-column:2;justify-self:start}.curriculum-v2-checkpoint-row{grid-template-columns:1fr}.curriculum-v2-checkpoint-row button{justify-self:start}.curriculum-v2-workspace-head{display:grid;padding:18px}.lesson-page-actions{justify-content:flex-start}.curriculum-v2-complete-row,.curriculum-v2-after-complete,.curriculum-v2-nav{align-items:flex-start;flex-direction:column;margin-inline:10px}.v3-lesson-article{padding:22px 14px 30px}
  .tt-goal-form,.tt-goal-progress,.tt-overview-grid,.tt-side-stack{grid-template-columns:1fr!important}.tt-daily-head{display:grid}.tt-daily-duration{justify-self:start}.tt-exercise-menu>summary{grid-template-columns:34px minmax(0,1fr) 24px}.tt-menu-count{display:none}.tt-compact-exercise{grid-template-columns:44px minmax(0,1fr) auto}.tt-compact-status{display:none}.tt-instruction{grid-template-columns:1fr}.tt-status-strip{grid-template-columns:repeat(2,1fr)}.tt-control-row{align-items:stretch;flex-direction:column}.tt-tempo-control{flex-wrap:wrap}.tt-player-top{display:grid}.tt-score-stage{min-height:300px}
  .classical-library-status{display:grid}.library-status-count{justify-self:start}.open-repertoire-filters,.open-repertoire-advanced .advanced-filters{grid-template-columns:1fr!important}.classical-piece-card{grid-template-columns:1fr!important}.piece-cover{min-height:92px}
  .skill-map,.readiness-grid,.roadmap{grid-template-columns:1fr!important}.progress-support-grid{grid-template-columns:1fr!important}
}
@media (max-width:520px){
  .tt-progress-kpis,.tt-skill-kpis,.tt-summary-grid{grid-template-columns:1fr 1fr}.tt-compact-exercise{grid-template-columns:40px minmax(0,1fr)}.tt-compact-start{grid-column:2;justify-self:start}.tt-routine-row{align-items:flex-start;flex-direction:column}.tt-routine-actions{width:100%}.tt-routine-actions>button{flex:1}.open-repertoire-result-head{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* ---------- Runtime progress bridges ---------- */
.games-progress-summary,.arcade-progress-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.games-progress-summary>div,.arcade-progress-summary>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f9faf9;text-align:center}.games-progress-summary b,.arcade-progress-summary b{display:block;font-size:1.15rem}.games-progress-summary span,.arcade-progress-summary span{color:var(--muted);font-size:.72rem}
.games-progress-list,.arcade-progress-list,.instrument-progress-bridge-grid{display:grid;gap:6px}.games-progress-list>button,.arcade-progress-list>button,.instrument-progress-bridge-grid>button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;text-align:right;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.games-progress-list>button:hover,.arcade-progress-list>button:hover,.instrument-progress-bridge-grid>button:hover{border-color:#bfd0d8;background:#f7fafb}.games-progress-list>button>span,.arcade-progress-list>button>span,.instrument-progress-bridge-grid>button>span{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:#edf3f5}.games-progress-list>button>div,.arcade-progress-list>button>div,.instrument-progress-bridge-grid>button>div{display:grid;gap:2px}.games-progress-list small,.arcade-progress-list small,.instrument-progress-bridge-grid small{color:var(--muted)}.games-progress-list em,.arcade-progress-list em,.instrument-progress-bridge-grid em{color:#536476;font-size:.74rem;font-style:normal;white-space:nowrap}
.classical-progress-bar{height:8px;overflow:hidden;border-radius:999px;background:#e6e9e8}.classical-progress-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),#49a68e)}
.classical-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classical-progress-grid>.card{padding:16px!important}.classical-progress-piece{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:14px;padding:11px 0;border-bottom:1px solid #efede8}.classical-progress-piece>div{display:grid;gap:3px}.classical-progress-piece small,.classical-progress-piece span{color:var(--muted);font-size:.78rem}.classical-topic-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.classical-topic-scores>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fafbfa}

@media(max-width:760px){.games-progress-summary,.arcade-progress-summary,.classical-progress-grid,.classical-topic-scores{grid-template-columns:1fr}.games-progress-list>button,.arcade-progress-list>button,.instrument-progress-bridge-grid>button{grid-template-columns:34px minmax(0,1fr)}.games-progress-list em,.arcade-progress-list em,.instrument-progress-bridge-grid em{grid-column:2;white-space:normal}.classical-progress-piece{grid-template-columns:1fr}}

/* ---------- Classical module shell and lesson surfaces ---------- */
.classical-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#fffefa,#f4f8f8);box-shadow:var(--shadow)}.classical-heading h2{margin:5px 0 4px;font-size:2.15rem}.classical-heading p{max-width:930px;margin:0;color:var(--muted)}
.classical-subnav{display:flex;gap:4px;overflow-x:auto;padding:5px;border:1px solid var(--line);border-radius:10px;background:#f4f7f7}.classical-subnav>button{flex:0 0 auto;min-height:38px;padding:7px 12px;border:0;border-radius:7px;background:transparent;color:#536476;font-weight:600}.classical-subnav>button:hover{background:#fff}.classical-subnav>button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(23,41,66,.08)}
.classical-panel{display:grid;gap:12px}.classical-hero{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:24px;align-items:center;padding:24px!important}.classical-hero h3{font-size:1.55rem;margin:5px 0 7px}.classical-hero p{max-width:900px;color:var(--muted)}.classical-ring{--cg-progress:0deg;width:118px;height:118px;display:grid;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(closest-side,#fff 73%,transparent 74% 99%),conic-gradient(var(--teal) var(--cg-progress),#e6e9e8 0);text-align:center}.classical-ring b{font-size:1.35rem}.classical-ring span{max-width:80px;color:var(--muted);font-size:.72rem}
.classical-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.classical-entry-card{min-height:128px;display:grid;align-content:start;gap:5px;padding:16px;text-align:right;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.classical-entry-card:hover{border-color:#bed0d9;background:#f7fafb}.classical-entry-card>span{color:var(--blue);font-size:.72rem;font-weight:700}.classical-entry-card>b{font-size:.98rem}.classical-entry-card>small{color:var(--muted)}
.classical-stage,.classical-lesson-grid,.classical-exam-grid,.classical-practice-card,.classical-reading-trainer,.classical-exam-card,.classical-lesson-workspace,.classical-stage-challenge,.classical-stage-challenge-result{padding:18px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;box-shadow:var(--shadow)!important}
.classical-lesson-grid,.classical-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classical-lesson-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff}.classical-lesson-card:hover{background:#f8fbfb}.classical-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.classical-lesson-content{max-width:900px;margin:0 auto;padding:26px 18px}.classical-lesson-content p,.classical-lesson-content li{line-height:1.7}.classical-lesson-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.classical-step-dots{display:flex;gap:6px;padding:12px 0}.classical-step-dots>i{width:8px;height:8px;border-radius:50%;background:#d8dedf}.classical-step-dots>i.active{background:var(--teal)}
.classical-check-options,.classical-exam-options,.classical-note-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.classical-check-options>button,.classical-exam-options>button,.classical-note-choices>button{min-height:46px;padding:10px 12px;text-align:right;border:1px solid var(--line);border-radius:8px;background:#fff}.classical-check-options>button:hover,.classical-exam-options>button:hover,.classical-note-choices>button:hover{border-color:#bed0d9;background:#f7fafb}.good-text{color:#26765f}.bad-text{color:#a14950}.classical-progress-grid{margin-bottom:10px}

@media(max-width:900px){.classical-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classical-lesson-grid,.classical-exam-grid{grid-template-columns:1fr}.classical-hero{grid-template-columns:1fr}.classical-ring{justify-self:start}}
@media(max-width:600px){.classical-heading{align-items:flex-start;flex-direction:column}.classical-entry-grid{grid-template-columns:1fr}.classical-check-options,.classical-exam-options,.classical-note-choices{grid-template-columns:1fr}}

/* ---------- Supplemental runtime component coverage ---------- */
.curriculum-v2-activity-list,.curriculum-v2-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.curriculum-v2-activity,.curriculum-v2-shortcuts .shortcut-card{min-height:84px;display:grid;align-content:center;gap:3px;padding:14px;text-align:right;border:1px solid var(--line);border-radius:9px;background:#fff}.curriculum-v2-activity:hover,.curriculum-v2-shortcuts .shortcut-card:hover{border-color:#bed0d9;background:#f7fafb}.curriculum-v2-activity>b,.curriculum-v2-shortcuts .shortcut-card>span{font-weight:700}.curriculum-v2-activity>span,.curriculum-v2-shortcuts .shortcut-card>small{color:var(--muted)}.curriculum-v2-milestone{border-color:#d9c79b;background:#fbf8ee}.curriculum-v2-next,.curriculum-v2-available{padding:18px!important}.curriculum-v2-next-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.curriculum-v2-next-meta>span{padding:4px 7px;border-radius:999px;background:#f0f2f3}.curriculum-v2-next-actions{display:flex;gap:8px;margin-top:12px}.curriculum-v2-progress i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#e4e8e7}.curriculum-v2-progress em{display:block;height:100%;border-radius:999px;background:var(--teal)}

.v3-example-stage,.v3-media-focus,.v3-academic,.v3-reading-section,.v3-glossary,.v3-hint,.v3-mistake{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.v3-example-stage-head,.v3-retrieval-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.v3-example-stage-head>span{color:var(--muted);font-size:.76rem}.v3-example-audio{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.v3-process,.v3-concept-flow,.v3-reading-flow,.v3-expression,.v3-score-nav{display:flex;gap:8px;flex-wrap:wrap}.v3-process>div,.v3-concept-flow>span,.v3-expression>span,.v3-score-nav>span{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.v3-compare-grid,.v3-finger-grid,.v3-chord-grid,.v3-rhythm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v3-compare-grid>div,.v3-finger-grid>div,.v3-chord-card,.v3-rhythm-grid>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.v3-string-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.v3-string-map>button{min-height:70px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.v3-tab{overflow-x:auto;padding:14px;border-radius:9px;background:#17283a;color:#eaf2f5;direction:ltr}.v3-tab code{display:block;white-space:pre}.v3-staff-wrap,.v3-fretboard,.v3-guitar-anatomy,.v3-ear-stage,.v3-tuner{max-width:100%;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}.v3-check-item,.v3-answer{padding:10px 12px;border-radius:8px;background:#f4f7f8}.v3-retrieval{display:grid;gap:10px}

.tt-plan-head,.tt-plan-row,.tt-resume-row,.tt-pending-row,.tt-teacher-assignment,.tt-rep-drill,.tt-rep-section,.tt-skill-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #efede8}.tt-plan-row:last-child,.tt-rep-drill:last-child,.tt-rep-section:last-child,.tt-skill-row:last-child{border-bottom:0}.tt-plan-row>div,.tt-resume-row>div,.tt-pending-row>div,.tt-teacher-assignment>div,.tt-rep-drill>div,.tt-rep-section>div,.tt-skill-main{display:grid;gap:2px}.tt-plan-row small,.tt-resume-row small,.tt-pending-row small,.tt-teacher-assignment small,.tt-rep-drill small,.tt-rep-section small,.tt-skill-row small{color:var(--muted)}.tt-plan-actions,.tt-routine-item-actions{display:flex;gap:6px;flex-wrap:wrap}.tt-plan-preview,.tt-routine-editor,.tt-skill-tree,.tt-teacher-assignments,.tt-rep-overview,.tt-rep-rule{margin-bottom:12px;padding:18px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.tt-routine-editor-list,.tt-teacher-assignment-list,.tt-skill-list,.tt-rep-drills,.tt-rep-sections{display:grid;gap:0}.tt-routine-editor-item{display:grid;grid-template-columns:minmax(0,1fr) 100px 90px auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid #efede8}.tt-routine-editor-item label{display:grid;gap:5px}.tt-routine-days{display:flex;gap:5px;flex-wrap:wrap}.tt-routine-days button{min-width:34px;min-height:34px;border:1px solid var(--line);border-radius:7px;background:#fff}.tt-routine-days button.active{border-color:var(--navy);background:#edf5f8;color:var(--navy)}.tt-skill-confidence,.tt-skill-level{padding:4px 7px;border-radius:999px;background:#eef2f3;font-size:.72rem}.tt-workout-summary,.tt-workout-transition,.tt-result-banner,.tt-safety-note{padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.tt-safety-note{border-inline-start:4px solid var(--orange);background:#fbf6ed}.tt-protocol,.tt-burst-protocol{margin:12px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#faf9f5}.tt-protocol-steps{display:grid;gap:7px}.tt-protocol-steps>div{padding:9px 11px;border-radius:8px;background:#fff;border:1px solid var(--line)}.tt-string-guide{padding:10px 14px;border-top:1px solid var(--line);background:#f7f8f8}.tt-assignment-player-note{margin-top:10px;padding:10px;border-radius:8px;background:#edf5f3}.tt-countin{position:absolute;inset:0;display:grid;place-items:center;background:rgba(15,40,57,.86);color:#fff;font-size:4rem;font-weight:700}.tt-countin.hidden{display:none!important}

.piece-curriculum-requirements,.piece-technical-prep,.piece-listening-center,.piece-playability-map,.piece-learning-map,.piece-source-details,.piece-secondary-panel{padding:18px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.piece-curriculum-grid,.piece-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.piece-curriculum-requirement{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 8px;padding:10px;text-align:right;border:1px solid var(--line);border-radius:8px;background:#fff}.piece-curriculum-requirement>span{grid-row:1/3}.piece-curriculum-requirement small{color:var(--muted)}.piece-curriculum-requirement.met{border-color:#b9d8ce;background:#f2f8f6}.piece-curriculum-compact{display:grid;gap:2px;margin:8px 0;color:var(--muted);font-size:.78rem}.piece-recommend{display:grid;gap:2px;margin:8px 0;padding:9px 10px;border-radius:8px;background:#f5f8f8}.piece-access-note{display:block;margin-top:6px;color:var(--muted)}.piece-listening-head,.playability-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.playability-hotspots,.piece-technical-prep-sections{display:grid;gap:7px}.playability-hotspot,.piece-technical-prep-sections>span{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fafbfa}.piece-session-stat{padding:8px 10px;border-radius:8px;background:#f0f3f4}.classical-loop-controls,.classical-piece-controls,.classical-practice-toolbar,.classical-run-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.classical-reading-fixed,.classical-stable-practice{overflow-anchor:none}.classical-tip,.classical-recommendation,.classical-rich-goal,.classical-locked-panel{padding:12px 14px;border-radius:9px;background:#f5f8f8}.classical-rich-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.classical-key-modes{display:flex;gap:7px;flex-wrap:wrap}.classical-key-modes label{display:flex;align-items:center;gap:5px}

@media(max-width:760px){.curriculum-v2-activity-list,.curriculum-v2-shortcuts,.v3-compare-grid,.v3-finger-grid,.v3-chord-grid,.v3-rhythm-grid,.v3-string-map,.piece-curriculum-grid,.piece-settings-grid,.classical-rich-grid{grid-template-columns:1fr}.tt-routine-editor-item{grid-template-columns:1fr 1fr}.tt-routine-editor-item>*:first-child{grid-column:1/-1}.tt-plan-row,.tt-resume-row,.tt-pending-row,.tt-teacher-assignment,.tt-rep-drill,.tt-rep-section,.tt-skill-row{align-items:flex-start;flex-direction:column}.piece-listening-head,.playability-head{flex-direction:column}}

/* ======================================================================
   R7.1 VISUAL STABILIZATION — runtime gaps found in real-device review
   2026-09-27
   ====================================================================== */

/* ----- Technical Training: goal / routines / daily / progress ----- */
#technicalTrainingApp :where(.tt-goal-card,.tt-routines-card,.tt-daily-card,.tt-progress-dashboard,.tt-skill-tree){
  padding:22px 24px!important;
  margin-bottom:14px!important;
  overflow:hidden!important;
}
#technicalTrainingApp :where(.tt-goal-card,.tt-routines-card,.tt-daily-card,.tt-progress-dashboard,.tt-skill-tree)>.section-head{
  align-items:flex-start!important;
  margin-bottom:16px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid var(--line)!important;
}
#technicalTrainingApp :where(.tt-goal-card,.tt-routines-card,.tt-daily-card,.tt-progress-dashboard,.tt-skill-tree)>.section-head h3{
  margin:3px 0 0!important;
  font-size:1.55rem!important;
  line-height:1.2!important;
}

.tt-goal-form{
  display:grid!important;
  grid-template-columns:minmax(220px,1.25fr) minmax(150px,.65fr) minmax(160px,.7fr) auto!important;
  gap:12px!important;
  align-items:end!important;
}
.tt-goal-form label{display:grid!important;gap:6px!important;min-width:0!important;color:var(--ink-soft)!important;font-size:.83rem!important;font-weight:600!important}
.tt-goal-form :where(input,select){width:100%!important;min-width:0!important;min-height:44px!important}
.tt-goal-form .primary{min-width:110px!important}
/* override the old R5 !important that painted the entire progress row */
.tt-goal-progress{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin:18px 0 10px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.tt-goal-progress>div{
  display:grid!important;
  gap:8px!important;
  padding:13px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#f8faf9!important;
}
.tt-goal-progress span{display:block!important;color:var(--ink-soft)!important;font-size:.8rem!important;line-height:1.45!important}
.tt-goal-progress i{
  display:block!important;
  width:100%!important;
  height:8px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#e4e9e8!important;
}
.tt-goal-progress i>b{
  display:block!important;
  height:100%!important;
  min-width:0!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--teal),#48a28d)!important;
}
.tt-goal-card>small{display:block!important;margin-top:8px!important;color:var(--muted)!important;line-height:1.6!important}

.tt-routines-card>.section-head .primary{flex:0 0 auto!important}
.tt-routine-list{display:grid!important;gap:9px!important}
.tt-routine-row{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:14px 16px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fff!important;
}
.tt-routine-row>div:first-child{min-width:0!important;display:grid!important;gap:3px!important}
.tt-routine-row>div:first-child :where(span,b,small){overflow-wrap:anywhere!important}
.tt-routine-actions{display:flex!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important}

.tt-daily-card{display:grid!important;gap:14px!important}
.tt-daily-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:start!important}
.tt-daily-head>div:first-child{min-width:0!important}
.tt-daily-duration{align-self:start!important;min-width:120px!important;background:#edf4f5!important;border:1px solid var(--line)!important}
.tt-daily-presets{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:0!important}
.tt-daily-presets>button{min-height:40px!important;padding:7px 13px!important}
.tt-custom-time{display:flex!important;gap:7px!important;align-items:center!important;min-width:0!important}
.tt-custom-time input{width:88px!important;min-width:0!important}
.tt-plan-preview{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.tt-plan-head{padding:13px 15px!important;border:1px solid var(--line)!important;border-radius:10px 10px 0 0!important;background:#f7faf9!important}
.tt-plan-row{padding:12px 15px!important;border:1px solid var(--line)!important;border-top:0!important;background:#fff!important}
.tt-plan-row:last-of-type{border-radius:0 0 10px 10px!important}
.tt-plan-actions{padding-top:12px!important}

.tt-progress-dashboard{display:grid!important;gap:12px!important}
.tt-progress-kpis{margin:0!important}
.tt-progress-families{display:grid!important;gap:0!important;border:1px solid var(--line)!important;border-radius:11px!important;overflow:hidden!important;background:#fff!important}
.tt-progress-family{
  display:grid!important;
  grid-template-columns:minmax(250px,.75fr) minmax(240px,1.25fr)!important;
  gap:18px!important;
  align-items:center!important;
  padding:13px 16px!important;
  border:0!important;
  border-bottom:1px solid #efede8!important;
}
.tt-progress-family:last-child{border-bottom:0!important}
.tt-progress-family>div:first-child{display:grid!important;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr)!important;gap:12px!important;align-items:center!important;min-width:0!important}
.tt-progress-family>div:first-child>b{font-size:.92rem!important;line-height:1.35!important}
.tt-progress-family>div:first-child>span{color:var(--muted)!important;font-size:.8rem!important;line-height:1.45!important;white-space:normal!important}
.tt-progress-track{width:100%!important;height:9px!important;border-radius:999px!important;background:#e6eae9!important;overflow:hidden!important}
.tt-progress-track>i{display:block!important;height:100%!important;min-width:0!important;border-radius:999px!important;background:linear-gradient(90deg,var(--teal),#54a994)!important}
.tt-progress-focus{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fbfaf6!important}
.tt-progress-focus>b{margin-inline-end:4px!important}.tt-progress-focus>span{padding:5px 8px!important;border-radius:999px!important;background:#edf2f3!important;color:var(--ink-soft)!important;font-size:.78rem!important}

/* Actual exercise catalogue should use the wide column; history stays compact. */
.tt-home-layout{
  grid-template-columns:minmax(0,1fr) 300px!important;
  grid-template-areas:"exercises recent"!important;
  direction:rtl!important;
}
.tt-menu-stack{grid-area:exercises!important;min-width:0!important;width:100%!important}
.tt-side-stack{grid-area:recent!important;min-width:0!important;width:100%!important}
.tt-exercise-menu{width:100%!important;min-width:0!important}
.tt-exercise-menu>summary{grid-template-columns:42px minmax(0,1fr) 118px 24px!important}
.tt-menu-title>b,.tt-menu-title>small{display:block!important;min-width:0!important;overflow-wrap:anywhere!important}
.tt-compact-exercise{grid-template-columns:58px minmax(0,1fr) 132px 78px!important}
.tt-compact-main :where(b,small){display:block!important;overflow-wrap:anywhere!important}

/* Skill tree: prevent title/meta concatenation. */
.tt-skill-families{display:grid!important;gap:9px!important}
.tt-skill-family{display:block!important;padding:0!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important}
.tt-skill-family>summary{list-style:none;cursor:pointer;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:13px 15px!important;background:#f8faf9!important}
.tt-skill-family>summary::-webkit-details-marker{display:none}
.tt-skill-family>summary>span{display:grid!important;gap:2px!important;min-width:0!important}.tt-skill-family>summary small{color:var(--muted)!important}
.tt-skill-list{display:grid!important}
.tt-skill-row{display:grid!important;grid-template-columns:minmax(280px,1.2fr) minmax(160px,.6fr) minmax(130px,.45fr) 76px!important;gap:12px!important;align-items:center!important;padding:11px 14px!important;border:0!important;border-top:1px solid #efede8!important}
.tt-skill-main{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:9px!important;align-items:center!important;min-width:0!important}.tt-skill-main>div{display:grid!important;gap:2px!important;min-width:0!important}.tt-skill-main :where(b,small){overflow-wrap:anywhere!important}
.tt-skill-confidence{height:9px!important;padding:0!important;border-radius:999px!important;background:#e6eae9!important;overflow:hidden!important}.tt-skill-confidence>i{display:block!important;height:100%!important;border-radius:999px!important;background:var(--teal)!important}
.tt-skill-meta{display:grid!important;gap:2px!important;color:var(--muted)!important;font-size:.78rem!important}.tt-skill-meta em{font-style:normal!important;color:var(--orange)!important}

/* ----- Classical score SVG: explicit paper + ink. SVG default rect fill is black. ----- */
.classical-score-viewport,.continuous-score-viewport,.local-score-viewport{
  background:#e7ebec!important;
  padding:16px!important;
}
.continuous-score-sheet,.classical-score-sheet,.local-score-sheet{
  color:#1c3043!important;
  background:#fffdf8!important;
}
.continuous-score-paper{fill:#fffdf8!important}
.score-measure-focus{fill:transparent!important;stroke:#ece7de!important;stroke-width:1!important}
.score-measure-region.current .score-measure-focus{fill:#edf7f4!important;stroke:#77b6a5!important;stroke-width:2!important}
.score-line,.continuous-score-line,.tab-line,.continuous-tab-line,.stem,.continuous-bar-line,.final-bar{
  stroke:#26394c!important;
  stroke-width:1.2!important;
}
.final-bar{stroke-width:3!important}
.notehead{fill:#132b40!important;stroke:#132b40!important}
.score-event.current-event .notehead{fill:#c76b25!important;stroke:#c76b25!important}
.tab-number-bg{fill:#fffdf8!important;stroke:none!important}
.tie-mark{fill:none!important;stroke:#26394c!important;stroke-width:1.2!important}
.continuous-score-sheet :where(text,.clef,.single-clef,.continuous-measure-number,.continuous-position-label,.measure-annotation,.time-signature,.key-signature-mark,.score-rest,.accidental,.left-finger,.rhythm-value,.tab-label,.tab-number,.tab-finger,.right-finger,.dynamic-mark){
  fill:#1c3043!important;
  color:#1c3043!important;
}
.continuous-measure-number{font-size:12px!important;font-weight:700!important}.continuous-position-label{font-size:11px!important;font-weight:600!important}.measure-annotation{font-size:11px!important;font-weight:700!important}.tab-number{font-size:13px!important;font-weight:700!important;text-anchor:middle!important}.tab-finger,.left-finger,.right-finger{font-size:10px!important}.right-finger{text-anchor:middle!important}
.score-event.current-event :where(.tab-number,.left-finger,.right-finger){fill:#b35618!important}

/* ----- Learning Analytics / Progress: previously unstyled runtime HTML ----- */
.learning-analytics-card{display:grid!important;gap:14px!important}
.learning-analytics-card>.section-head{margin:0!important}
#learningAnalyticsBody{display:grid!important;gap:14px!important;min-width:0!important}
.learning-analytics-kpis,.intervention-outcome-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.learning-analytics-kpis>div,.intervention-outcome-kpis>div{
  min-width:0!important;
  padding:13px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#f8faf9!important;
}
.learning-analytics-kpis b,.intervention-outcome-kpis b{display:block!important;margin-bottom:3px!important;font-size:1.15rem!important;color:var(--navy)!important}
.learning-analytics-kpis span,.intervention-outcome-kpis span{display:block!important;color:var(--muted)!important;font-size:.76rem!important;line-height:1.45!important}
.learning-analytics-section{padding:16px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}
.learning-analytics-section>.section-head{margin-bottom:10px!important}
.learning-analytics-alerts{display:grid!important;gap:7px!important}
.learning-analytics-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.learning-analytics-two>section{min-width:0!important;padding:15px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fbfaf7!important}
.learning-analytics-two h4{margin-bottom:10px!important}.learning-analytics-strengths{margin:0!important;padding-inline-start:20px!important}.learning-analytics-strengths li{margin-bottom:6px!important}
.learning-analytics-facts{display:grid!important;gap:0!important;margin:0!important}.learning-analytics-facts>div{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:8px 0!important;border-bottom:1px solid #efede8!important}.learning-analytics-facts>div:last-child{border-bottom:0!important}.learning-analytics-facts dt{color:var(--muted)!important}.learning-analytics-facts dd{margin:0!important;font-weight:700!important;color:var(--ink)!important}
.intervention-outcome-history,.learning-analytics-domains{overflow:hidden!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}
.intervention-outcome-history>summary,.learning-analytics-domains>summary{cursor:pointer!important;padding:12px 14px!important;font-weight:700!important;background:#f8faf9!important}
.intervention-outcome-history>div{padding:0 14px 12px!important}
.learning-analytics-domain-head,.learning-analytics-domain{display:grid!important;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.6fr) minmax(100px,.45fr) minmax(140px,.65fr)!important;gap:10px!important;align-items:center!important;padding:9px 12px!important}
.learning-analytics-domain-head{background:#eef3f5!important;color:var(--ink-soft)!important;font-size:.74rem!important;font-weight:700!important}
.learning-analytics-domain{border-top:1px solid #efede8!important}.learning-analytics-domain>div{display:grid!important;gap:2px!important;min-width:0!important}.learning-analytics-domain>div>b{font-size:.84rem!important}.learning-analytics-domain>div>span{color:var(--muted)!important;font-size:.72rem!important}
.learning-analytics-domain>span{font-size:.79rem!important;color:var(--ink-soft)!important}
.learning-analytics-rule{display:grid!important;grid-template-columns:160px minmax(0,1fr)!important;gap:12px!important;padding:13px 15px!important;border-inline-start:4px solid var(--teal)!important;border-radius:8px!important;background:#f2f8f6!important}

/* Progress bridge cards should have intentional internal hierarchy. */
.classical-progress-bridge,.game-progress-bridge,.arcade-progress-bridge,.instrument-progress-bridge{min-width:0!important;display:grid!important;align-content:start!important;gap:10px!important}
.classical-progress-bridge>.section-head,.game-progress-bridge>.section-head,.arcade-progress-bridge>.section-head,.instrument-progress-bridge>.section-head{margin:0!important;padding-bottom:10px!important;border-bottom:1px solid var(--line)!important}
.classical-progress-bridge p,.game-progress-bridge p,.arcade-progress-bridge p,.instrument-progress-bridge p{margin:0!important;line-height:1.6!important}

/* ----- Theory Academy dynamic level/module UI ----- */
#academyLevels{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;border:0!important}
.academy-level{min-width:0!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;box-shadow:0 3px 14px rgba(23,41,66,.04)!important}
.academy-level>summary{list-style:none!important;cursor:pointer!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important;min-height:118px!important;padding:17px 18px!important;background:#fff!important}
.academy-level>summary::-webkit-details-marker{display:none}.academy-level>summary:hover{background:#f8fafb!important}.academy-level[open]>summary{border-bottom:1px solid var(--line)!important;background:#f7fafb!important}
.academy-level-title{display:grid!important;gap:6px!important;min-width:0!important}.academy-level-title>b{font-size:1.02rem!important;line-height:1.35!important}.academy-level-title>small{display:block!important;color:var(--muted)!important;font-size:.8rem!important;line-height:1.55!important;overflow-wrap:anywhere!important}
.academy-level-progress{padding:5px 8px!important;border-radius:999px!important;background:#eef3f5!important;color:var(--navy)!important;font-size:.75rem!important;white-space:nowrap!important}
.academy-module-grid{display:grid!important;gap:0!important;padding:0!important}.academy-module{width:100%!important;min-height:92px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:3px 12px!important;padding:13px 16px!important;text-align:right!important;border:0!important;border-bottom:1px solid #efede8!important;border-radius:0!important;background:#fff!important;color:var(--ink)!important}.academy-module:last-child{border-bottom:0!important}.academy-module:hover:not(:disabled){background:#f8fbfb!important}.academy-module>b{grid-column:1;display:block!important;font-size:.9rem!important;line-height:1.4!important}.academy-module>small{grid-column:1;display:block!important;color:var(--muted)!important;font-size:.78rem!important;line-height:1.5!important;overflow-wrap:anywhere!important}.academy-module>span{grid-column:2;grid-row:1/3;align-self:center;padding:5px 8px!important;border-radius:999px!important;background:#eef3f5!important;color:var(--navy)!important;font-size:.72rem!important;white-space:nowrap!important}.academy-module.done>span{background:#e7f3ef!important;color:#28735f!important}.academy-module.locked{opacity:.58!important}
.universal-transition-callout{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;margin:12px!important;padding:13px 14px!important;border:1px solid #d8c89f!important;border-radius:9px!important;background:#fbf8ee!important}.universal-transition-callout>div{display:grid!important;gap:2px!important}.universal-transition-callout small{color:var(--muted)!important}
.universal-transition-passed{margin:12px!important;padding:10px 12px!important;border-radius:8px!important;background:#eaf5f0!important;color:#27755f!important;font-weight:700!important}

/* ----- Music Games: full runtime surface styling ----- */
#gamesApp{display:grid!important;gap:14px!important;min-width:0!important}
.games-active-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) 150px!important;gap:18px!important;align-items:start!important;padding:20px 22px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:linear-gradient(135deg,#fffefa,#f3f7f8)!important;box-shadow:var(--shadow)!important}
.games-active-head>div{min-width:0!important}.games-active-head h2{margin:6px 0 5px!important;font-size:2rem!important}.games-active-head p{max-width:820px!important;margin:0!important;color:var(--muted)!important}.game-related-lesson{margin-top:10px!important;max-width:100%!important;padding:7px 10px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;color:var(--blue)!important;font-size:.8rem!important}
.game-level-badge{display:grid!important;place-items:center!important;align-content:center!important;min-height:112px!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;text-align:center!important}.game-level-badge>b{font-size:1.65rem!important;color:var(--navy)!important}.game-level-badge>span{font-weight:700!important}.game-level-badge>small{color:var(--muted)!important;font-size:.72rem!important}
.game-progress-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.game-progress-strip>span{display:flex!important;justify-content:space-between!important;gap:8px!important;padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important;color:var(--muted)!important}.game-progress-strip b{color:var(--ink)!important}
.game-workspace{padding:0!important;overflow:hidden!important;border-radius:12px!important;background:#fff!important}
.game-workspace-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:start!important;padding:18px 20px!important;border-bottom:1px solid var(--line)!important;background:#f8faf9!important}.game-workspace-head h3{margin:3px 0 4px!important;font-size:1.35rem!important}.game-workspace-head p{margin:0!important;color:var(--muted)!important}.game-workspace-head .row-actions{justify-content:flex-end!important}
.game-arena{min-height:0!important;padding:24px!important;background:#fff!important}
.game-question-shell{width:min(780px,100%)!important;margin:0 auto!important;display:grid!important;gap:16px!important;align-items:start!important}.game-question{display:grid!important;gap:4px!important}.game-question h3{margin:0!important;font-size:1.4rem!important}.game-choice-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.game-choice-list>button{min-height:48px!important;padding:11px 13px!important;text-align:right!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important;color:var(--ink)!important}.game-choice-list>button:hover:not(:disabled){border-color:#b9ccd5!important;background:#f7fafb!important}.game-choice-list>button.correct{border-color:#87bfad!important;background:#eaf5f0!important}.game-choice-list>button.wrong{border-color:#dda0a5!important;background:#fbefef!important}.game-choice-list>button:disabled{opacity:.6!important}
.game-fixed-feedback{min-height:54px!important;padding:12px 14px!important;border-inline-start:4px solid #b8c3c9!important;border-radius:8px!important;background:#f5f7f7!important;color:var(--ink-soft)!important;line-height:1.55!important}.game-fixed-feedback.good{border-inline-start-color:var(--teal)!important;background:#eef7f3!important}.game-fixed-feedback.bad{border-inline-start-color:var(--red)!important;background:#fbf0f0!important}
.game-ear-shell{justify-items:center!important;text-align:center!important}.ear-orb{width:116px!important;height:116px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:radial-gradient(circle at 35% 30%,#fff 0 12%,#eaf3f7 13% 45%,#d6e8ee 46% 100%)!important;border:1px solid #cbdce3!important;box-shadow:0 12px 30px rgba(23,59,85,.11)!important}.ear-orb>span{font-size:2.5rem!important;color:var(--navy)!important}.ear-orb.playing{animation:r71Pulse .8s ease-in-out infinite alternate!important}@keyframes r71Pulse{to{transform:scale(1.04);box-shadow:0 0 0 12px rgba(38,138,117,.08),0 14px 34px rgba(23,59,85,.15)}}
.game-ear-shell .game-choice-list{width:min(600px,100%)!important}.game-ear-shell #playEarQuestion{min-width:180px!important}
.game-reading-card,.composition-brief,.rhythm-config,.sight-preview-list{padding:13px 15px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f8faf9!important}
.game-score-fixed,.game-staff-fixed{overflow:auto!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fffdf8!important}
.game-score-svg{width:100%!important;max-width:720px!important}.game-score-svg :where(line){stroke:#26394c!important}.game-score-svg ellipse{fill:#173b55!important}.game-score-note.active ellipse{fill:var(--orange)!important}

/* ----- Responsive stabilization ----- */
@media(max-width:1180px){
  .tt-goal-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tt-goal-form .primary{justify-self:start!important}
  .tt-home-layout{grid-template-columns:1fr!important;grid-template-areas:"exercises" "recent"!important}.tt-side-stack{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #academyLevels{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .learning-analytics-domain-head,.learning-analytics-domain{grid-template-columns:minmax(170px,1fr) minmax(110px,.6fr) minmax(90px,.45fr) minmax(120px,.6fr)!important}
}
@media(max-width:820px){
  .tt-goal-progress,.learning-analytics-kpis,.intervention-outcome-kpis,.learning-analytics-two,.game-progress-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tt-progress-family{grid-template-columns:1fr!important;gap:8px!important}.tt-progress-family>div:first-child{grid-template-columns:140px minmax(0,1fr)!important}
  .tt-skill-row{grid-template-columns:minmax(0,1fr) 80px!important}.tt-skill-confidence,.tt-skill-meta{grid-column:1!important}.tt-skill-row>button{grid-column:2!important;grid-row:1!important}.tt-skill-main{grid-column:1!important}
  #academyLevels{grid-template-columns:1fr!important}.academy-level>summary{min-height:0!important}
  .games-active-head{grid-template-columns:1fr!important}.game-level-badge{justify-self:start!important;min-width:150px!important;min-height:90px!important}.game-workspace-head{grid-template-columns:1fr!important}.game-workspace-head .row-actions{justify-content:flex-start!important}.game-choice-list{grid-template-columns:1fr!important}
  .learning-analytics-domain-head{display:none!important}.learning-analytics-domain{grid-template-columns:1fr 1fr!important}.learning-analytics-domain>div{grid-column:1/-1!important}.learning-analytics-rule{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  #technicalTrainingApp :where(.tt-goal-card,.tt-routines-card,.tt-daily-card,.tt-progress-dashboard,.tt-skill-tree){padding:16px!important}
  .tt-goal-form,.tt-goal-progress,.tt-progress-kpis,.tt-skill-kpis,.learning-analytics-kpis,.intervention-outcome-kpis,.learning-analytics-two,.game-progress-strip{grid-template-columns:1fr!important}
  .tt-routine-row{grid-template-columns:1fr!important}.tt-routine-actions{justify-content:flex-start!important}
  .tt-daily-head{grid-template-columns:1fr!important}.tt-daily-duration{justify-self:start!important}
  .tt-exercise-menu>summary{grid-template-columns:36px minmax(0,1fr) 24px!important}.tt-menu-count{display:none!important}.tt-compact-exercise{grid-template-columns:46px minmax(0,1fr)!important}.tt-compact-status{display:none!important}.tt-compact-start{grid-column:2!important;justify-self:start!important}
  .tt-side-stack{grid-template-columns:1fr!important}
  .game-arena{padding:16px!important}.ear-orb{width:96px!important;height:96px!important}
}

/* ----- R7.1 additional runtime-control coverage ----- */
.segmented{display:flex!important;gap:5px!important;flex-wrap:wrap!important;padding:4px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f3f6f6!important}
.segmented>button{min-height:36px!important;padding:6px 10px!important;border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;color:var(--ink-soft)!important;box-shadow:none!important}.segmented>button:hover{background:#fff!important}.segmented>button.active{border-color:#c5d4db!important;background:#fff!important;color:var(--navy)!important;font-weight:700!important;box-shadow:0 2px 7px rgba(23,41,66,.06)!important}
.control-group{display:grid!important;gap:8px!important;min-width:0!important}.control-group>label{color:var(--ink-soft)!important;font-size:.8rem!important;font-weight:700!important}
.playback-toggle{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:7px!important;padding:8px 10px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important}.playback-toggle input{width:auto!important;min-height:0!important;margin:0!important}
.score-size-control,.playback-controls,.score-page-toolbar{padding:14px 16px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#f8faf9!important}.score-size-control{display:grid!important;gap:9px!important}.score-size-control>div{display:grid!important;gap:8px!important}.score-scale-presets{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.score-scale-presets>button{min-height:34px!important;padding:5px 9px!important;border:1px solid var(--line)!important;border-radius:7px!important;background:#fff!important}.score-scale-presets>button.active{border-color:var(--navy)!important;background:#edf5f8!important;color:var(--navy)!important;font-weight:700!important}.score-page-toolbar{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important}.score-page-toolbar>span{flex:1 1 220px!important;color:var(--ink-soft)!important;text-align:center!important}.score-follow-banner{display:grid!important;gap:3px!important;padding:11px 14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f2f8f6!important}.score-follow-banner span{color:var(--muted)!important;font-size:.8rem!important}

.lesson-check,.lesson-diagram{margin-top:14px!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fafbf9!important}.lesson-check>p{margin-top:0!important}.lesson-check :where(button){min-height:42px!important;margin:4px!important;padding:8px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important}.lesson-check-feedback{min-height:44px!important;margin-top:9px!important;padding:10px 12px!important;border-inline-start:4px solid #b8c3c9!important;border-radius:7px!important;background:#f4f7f7!important;line-height:1.55!important}.lesson-check-feedback.good,.lesson-check-feedback.success{border-inline-start-color:var(--teal)!important;background:#edf7f3!important}.lesson-check-feedback.bad,.lesson-check-feedback.error{border-inline-start-color:var(--red)!important;background:#fbefef!important}

/* Technical score SVG uses explicit notation ink rather than SVG defaults. */
.tt-score-svg{display:block!important;width:auto!important;max-width:none!important;height:310px!important;background:#fffdf8!important;color:#1c3043!important}.tt-staff-line,.tt-tab-line,.tt-bar-line,.tt-ledger-line,.tt-stem{stroke:#26394c!important;stroke-width:1.2!important}.tt-notehead{fill:#173b55!important;stroke:#173b55!important}.tt-tab-dot{fill:#fffdf8!important;stroke:#173b55!important;stroke-width:1.2!important}.tt-score-event.active .tt-notehead,.tt-score-event.active .tt-tab-dot{fill:var(--orange)!important;stroke:var(--orange)!important}.tt-score-svg :where(text,.tt-fret,.tt-finger,.tt-chord-finger,.tt-count,.tt-note-label,.tt-dynamic,.tt-pick,.tt-accent-mark,.tt-rest-symbol,.tt-rest-tab,.tt-tab-label,.tt-string-label,.tt-clef,.tt-chord-label,.tt-accidental){fill:#1c3043!important;color:#1c3043!important}.tt-score-event.active :where(text,.tt-fret,.tt-finger){fill:#a94f18!important}.tt-score-stage{overflow:hidden!important;background:#fffdf8!important}.tt-score-viewport{overflow:auto!important;background:#fffdf8!important}.tt-score-track{width:max-content!important;min-width:100%!important}.tt-string-guide-title,.tt-string-guide{color:var(--ink-soft)!important}

/* Exams / assessments */
.exam-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding-bottom:14px!important;border-bottom:1px solid var(--line)!important}.exam-progress{height:8px!important;overflow:hidden!important;border-radius:999px!important;background:#e5e9e8!important}.exam-progress>i{display:block!important;height:100%!important;background:var(--teal)!important}.exam-question{display:grid!important;gap:12px!important;padding:18px 0!important}.exam-question h3{font-size:1.25rem!important}.exam-result{padding:18px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#f8faf9!important}.exam-score-big{font-size:2rem!important;font-weight:800!important;color:var(--navy)!important}

/* YouTube + score console */
.youtube-score-console,.youtube-score-dock{overflow:hidden!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.youtube-score-frame,.youtube-score-video{overflow:hidden!important;border-radius:9px!important;background:#132b40!important}.youtube-main-controls,.youtube-progress-row,.youtube-sync-row{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding:10px 12px!important}.youtube-progress-row input[type="range"]{flex:1 1 240px!important}.youtube-state-pill{padding:5px 8px!important;border-radius:999px!important;background:#edf3f5!important;color:var(--navy)!important;font-size:.74rem!important}.youtube-score-unavailable{padding:18px!important;color:var(--muted)!important;text-align:center!important}

.game-run-status{padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#f7f9f9!important;color:var(--ink-soft)!important}.game-note-buttons{display:grid!important;grid-template-columns:repeat(7,minmax(44px,1fr))!important;gap:7px!important}.game-note-buttons>button{min-height:46px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important}.game-note-buttons>button:hover:not(:disabled){border-color:#b8ccd5!important;background:#f7fafb!important}

@media(max-width:640px){.game-note-buttons{grid-template-columns:repeat(4,minmax(44px,1fr))!important}.youtube-main-controls,.youtube-progress-row,.youtube-sync-row{align-items:stretch!important;flex-direction:column!important}}


/* ======================================================================
   R7.3 — assessment, optional placement, score direction + active marker
   ====================================================================== */

/* Academic Assessment v6 — replace browser-default button wall with a readable center */
#view-exams{max-width:1460px;margin-inline:auto}
#view-exams>.view-heading{max-width:980px;margin-inline:auto 0}
.academic-assessment-center{display:grid!important;gap:18px!important;min-width:0!important}
.assessment-recommendation{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:18px 20px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 4px 18px rgba(23,41,66,.035)!important}
.assessment-recommendation>div{display:grid!important;gap:4px!important;min-width:0!important}.assessment-recommendation b{font-size:1rem!important}.assessment-recommendation p{margin:0!important;color:var(--muted)!important;line-height:1.55!important}.assessment-recommendation.good{border-inline-start:4px solid var(--teal)!important}.assessment-recommendation.warn{border-inline-start:4px solid var(--orange)!important}.assessment-recommendation.placement{border-inline-start:4px solid var(--blue)!important;background:#f7fafb!important}
.academic-checkpoint-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr) auto!important;gap:18px!important;align-items:end!important;padding:22px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--shadow)!important}.academic-checkpoint-card>div{display:grid!important;gap:5px!important;min-width:0!important}.academic-checkpoint-card h3{margin:0!important;font-size:1.35rem!important}.academic-checkpoint-card p{margin:0!important;color:var(--muted)!important;line-height:1.6!important}.academic-checkpoint-card label{display:grid!important;gap:6px!important;font-weight:700!important;color:var(--ink)!important}.academic-checkpoint-card select{width:100%!important;min-height:44px!important;border:1px solid #cfd7dc!important;border-radius:9px!important;background:#fff!important;padding:0 12px!important;color:var(--ink)!important;font:inherit!important}
.academic-domain-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:18px!important;padding:8px 2px 0!important}.academic-domain-head h3{margin:2px 0 4px!important;font-size:1.55rem!important}.academic-domain-head p{max-width:850px!important;margin:0!important;color:var(--muted)!important;line-height:1.55!important}
.academic-domain-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;min-width:0!important}
.academic-domain-card{display:grid!important;grid-template-rows:auto auto minmax(42px,auto) auto!important;gap:7px!important;min-width:0!important;min-height:170px!important;padding:16px!important;text-align:right!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:var(--ink)!important;box-shadow:0 3px 14px rgba(23,41,66,.035)!important;cursor:pointer!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease!important}.academic-domain-card:hover:not(:disabled){border-color:#aac8d5!important;box-shadow:0 8px 22px rgba(23,59,85,.09)!important;transform:translateY(-1px)!important}.academic-domain-card.core{border-top:3px solid var(--teal)!important}.academic-domain-card>span{color:var(--blue)!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.03em!important}.academic-domain-card>b{font-size:1.02rem!important;line-height:1.35!important;overflow-wrap:anywhere!important}.academic-domain-card>small{color:var(--muted)!important;line-height:1.45!important;overflow-wrap:anywhere!important}.academic-domain-card>div{display:grid!important;grid-template-columns:1fr!important;gap:2px!important;padding-top:8px!important;border-top:1px solid #ece9e2!important}.academic-domain-card em{font-style:normal!important;font-size:.75rem!important;color:var(--ink-soft)!important;overflow-wrap:anywhere!important}.academic-domain-card.locked,.academic-domain-card:disabled{opacity:.55!important;cursor:not-allowed!important;background:#f5f5f3!important}
#examWorkspace{max-width:980px!important;margin-inline:auto!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--shadow)!important}.exam-head h3{margin:4px 0!important;font-size:1.45rem!important}.exam-head small{color:var(--muted)!important}.exam-question{font-size:1.15rem!important;line-height:1.7!important;font-weight:700!important}.exam-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.exam-options>button{min-height:54px!important;padding:11px 14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important;color:var(--ink)!important;text-align:right!important;font:inherit!important;line-height:1.45!important}.exam-options>button:hover:not(:disabled){border-color:#9fc2d2!important;background:#f6fafb!important}.exam-options>button.correct{border-color:#5baa8f!important;background:#ecf7f3!important;color:#1e6d58!important}.exam-options>button.wrong{border-color:#d59a9d!important;background:#fbefef!important;color:#8f3f45!important}.checkpoint-instruction,.checkpoint-model-answer{margin-top:12px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f8faf9!important}.assessment-history-summary{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:10px!important}.assessment-history-summary>span{padding:5px 9px!important;border-radius:999px!important;background:#eef3f5!important;color:var(--ink-soft)!important;font-size:.75rem!important}.exam-history-list{display:grid!important}.exam-history-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:11px 0!important;border-bottom:1px solid #efede8!important}.exam-history-row>div{display:grid!important;gap:2px!important}.exam-history-row span{color:var(--muted)!important;font-size:.78rem!important}

/* Placement is a recommendation, not a gate. */
.placement-required-card{border-inline-start:4px solid var(--blue)!important;background:#fbfcfc!important}.placement-required-card .pill{background:#edf5f8!important;color:var(--blue)!important}.placement-required-card p{max-width:760px!important}.placement-head>#closePlacementOptional{align-self:flex-start!important;white-space:nowrap!important}.placement-layer:not(.hidden){overflow:auto!important}.placement-card{max-height:calc(100vh - 44px)!important;overflow:auto!important}

/* Technical training: JS uses .is-current, not .active. Make the active note unmistakable. */
.tt-score-event{transition:opacity .08s ease,filter .08s ease!important}.tt-score-event.is-current{filter:drop-shadow(0 0 5px rgba(218,104,29,.35))!important}.tt-score-event.is-current .tt-notehead{fill:#e46f1d!important;stroke:#9f4109!important;stroke-width:2.6!important}.tt-score-event.is-current .tt-tab-dot{fill:#fff0e3!important;stroke:#e46f1d!important;stroke-width:3!important}.tt-score-event.is-current :where(.tt-fret,.tt-finger,.tt-chord-finger,.tt-count,.tt-note-label,.tt-dynamic,.tt-pick,.tt-accent-mark,.tt-rest-symbol,.tt-rest-tab,.tt-chord-label,.tt-accidental){fill:#a9430b!important;color:#a9430b!important;font-weight:800!important}.tt-score-event.is-current.tt-rest-event :where(.tt-rest-symbol,.tt-rest-tab){fill:#e46f1d!important}

/* Musical notation always flows left-to-right, independent of the Hebrew page direction. */
.classical-score-viewport,.continuous-score-viewport,.local-score-viewport,.tt-score-viewport{direction:ltr!important;text-align:left!important}.continuous-score-sheet,.classical-score-sheet,.local-score-sheet,.tt-score-svg{direction:ltr!important}.classical-score-viewport{scroll-behavior:auto}

@media(max-width:1050px){.academic-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.academic-checkpoint-card{grid-template-columns:1fr 1fr!important}.academic-checkpoint-card>button{grid-column:1/-1;justify-self:start!important}}
@media(max-width:700px){.assessment-recommendation{align-items:flex-start!important;flex-direction:column!important}.academic-domain-grid,.exam-options{grid-template-columns:1fr!important}.academic-checkpoint-card{grid-template-columns:1fr!important}.academic-checkpoint-card>button{grid-column:auto}.exam-head{flex-direction:column!important}.placement-head{align-items:flex-start!important;flex-direction:column!important}}

/* ======================================================================
   R7.4 SITE-WIDE POLISH / VISUAL RECOVERY — 2026-09-27
   Resolves runtime/default-control gaps discovered during live QA.
   ====================================================================== */

/* ---------- Universal control polish: eliminate browser-default buttons ---------- */
body :where(button):not(.nav-item):not(.tab):not(.text-button){
  appearance:none;
  -webkit-appearance:none;
  min-height:40px;
  padding:8px 14px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:700;
  line-height:1.25;
  box-shadow:0 2px 7px rgba(29,45,61,.035);
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;
}
body :where(button):not(.nav-item):not(.tab):not(.text-button):hover:not(:disabled){
  border-color:#b7c9d2;
  background:#f8fbfc;
  box-shadow:0 5px 14px rgba(29,45,61,.08);
}
body :where(button):not(.nav-item):not(.tab):not(.text-button):active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 6px rgba(29,45,61,.05)}
body :where(button):disabled{cursor:not-allowed!important;opacity:.5!important;box-shadow:none!important}
body button.primary{border-color:var(--navy)!important;background:linear-gradient(135deg,var(--navy),#1c5573)!important;color:#fff!important;box-shadow:0 6px 16px rgba(23,59,85,.16)!important}
body button.primary:hover:not(:disabled){background:linear-gradient(135deg,#12364f,#216482)!important;border-color:#12364f!important}
body button.secondary{border-color:#cfd8dc!important;background:#f7fafb!important;color:var(--navy)!important}
body button.ghost{border-color:var(--line-strong)!important;background:#fff!important;color:var(--ink)!important;box-shadow:none!important}
body .segmented>button{box-shadow:none!important;border-radius:8px!important}
body .segmented>button.active{border-color:#8eb8c8!important;background:#e9f3f6!important;color:var(--navy)!important;box-shadow:inset 0 0 0 1px rgba(23,59,85,.06)!important}
.music-term-link,.chord-symbol-link{
  display:inline!important;min-height:0!important;padding:.08em .24em!important;border:0!important;border-bottom:1px dotted #7e9ca8!important;border-radius:4px!important;background:#f3f8fa!important;color:#175a7a!important;font-weight:700!important;box-shadow:none!important;vertical-align:baseline!important
}
.music-term-link:hover,.chord-symbol-link:hover{background:#e6f2f6!important;border-bottom-color:#175a7a!important}

/* ---------- Lesson visuals: never depend on SVG default black fills ---------- */
.lesson-visual-block{
  margin:22px 0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fffefa,#faf8f3)!important;
  box-shadow:0 5px 18px rgba(31,45,57,.055)!important;
}
.lesson-visual-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding:16px 18px 10px!important}
.lesson-visual-head>div{min-width:0!important}.lesson-visual-head h3{margin:2px 0 4px!important;font-size:1.2rem!important}.lesson-visual-head p{margin:0!important;max-width:860px!important;color:var(--ink-soft)!important}
.lesson-visual-canvas{min-height:250px!important;padding:14px 18px!important;display:grid!important;place-items:center!important;background:#fbfaf6!important;border-block:1px solid #efebe3!important;overflow:auto!important}
.lesson-visual-svg{display:block!important;width:min(100%,900px)!important;height:auto!important;max-height:520px!important;color:var(--ink)!important;background:transparent!important;overflow:visible!important}
.lesson-visual-svg text{fill:#203a50!important;color:#203a50!important;font-family:var(--ui)!important;font-weight:600!important}
.lesson-visual-svg :where(line,polyline){fill:none!important;stroke:#385267!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.lesson-visual-svg path{fill:none;stroke:#385267;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lesson-visual-svg :where(rect,circle,ellipse){fill:#fffefa;stroke:#385267;stroke-width:1.4}
/* large illustrative solids */
.lesson-visual-svg :where(.lv-guitar,.lv-hand,.lv-fretboard,.lv-head,.lv-neck,.lv-chair,.lv-panel,.lv-navbox,.lv-callout,.lv-concept,.lv-prof,.lv-jazz,.lv-signal,.lv-teach,.lv-orch,.lv-form,.lv-chord-tone,.lv-tune,.lv-index,.lv-finger,.lv-beat-dot,.lv-memory-dot,.lv-time-dot,.lv-pc,.lv-mute,.lv-rest,.lv-register,.lv-health-ring){fill:#edf4f2!important;stroke:#34546a!important}
.lesson-visual-svg :where(.lv-panel,.lv-callout,.lv-navbox){fill:#fff!important;stroke:#d4dedf!important}
.lesson-visual-svg .lv-guitar{fill:#dce8e4!important;stroke:#24475c!important;stroke-width:2!important}
.lesson-visual-svg .lv-hand{fill:#f0e1cf!important;stroke:#735d4c!important}
.lesson-visual-svg :where(.lv-hole,.lv-tab-dot){fill:#fffefa!important;stroke:#24475c!important}
.lesson-visual-svg :where(.lv-fretboard,.lv-neck){fill:#e7dcc9!important;stroke:#5f5144!important}
.lesson-visual-svg :where(.lv-string,.lv-fret,.lv-bridge,.lv-staff,.lv-grid,.lv-grid-tick,.lv-ground,.lv-beat,.lv-sub,.lv-meter,.lv-wave,.lv-voice,.lv-riff,.lv-groove,.lv-time,.lv-memory,.lv-signal,.lv-person-line,.lv-arrow,.lv-pluck,.lv-good,.lv-prep,.lv-return,.lv-conduct,.lv-set-line,.lv-meet,.lv-pick){fill:none!important;stroke:#31526a!important}
.lesson-visual-svg :where(.lv-arrow,.lv-good,.lv-prep,.lv-return){stroke:#2b8873!important;stroke-width:2.2!important}
.lesson-visual-svg :where(.lv-hot-dot,.hot,.lv-bad-dot){fill:#d97727!important;stroke:#9a4a13!important}
.lesson-visual-svg :where(.lv-good-text){fill:#24745f!important}.lesson-visual-svg :where(.lv-bad-text,.lv-warning){fill:#a8464b!important}
.lesson-visual-svg :where(.lv-notehead,.lv-finger,.lv-index,.lv-beat-dot,.lv-subdot,.lv-groove-hit,.lv-ictus){fill:#1d5a78!important;stroke:#173b55!important}
.lesson-visual-svg :where(.lv-heading,.lv-chord-text,.lv-function-big,.lv-form-text){fill:#14263c!important;font-weight:800!important}
.lesson-visual-svg :where(.lv-note,.lv-label text,.lv-era-text){fill:#56697a!important;font-weight:600!important}
.lesson-visual-svg :where(.lv-tune-text,.lv-index-text,.lv-finger-label,.lv-step-num,.lv-degree-text,.lv-signal-icon,.lv-beat-num,.lv-tab-num,.lv-pc-text){fill:#173b55!important;font-weight:800!important;text-anchor:middle}
.lesson-visual-caption{padding:14px 18px!important;background:#fff!important}.lesson-visual-caption-text{margin:0!important;color:var(--ink-soft)!important;line-height:1.65!important}
.lesson-visual-annotations{display:grid!important;gap:6px!important;margin:0!important;padding:12px 18px 16px!important;background:#fff!important;color:var(--ink-soft)!important}
.lesson-visual-annotations li{line-height:1.55!important}.lesson-visual-focus-block,.lesson-visual-explanation-block{padding:12px 14px!important;border-radius:9px!important;background:#f2f7f6!important;color:var(--ink-soft)!important}

/* ---------- Runtime overlays: fixed dialogs, never appended below the footer ---------- */
body.modal-open{overflow:hidden!important}
.music-glossary-modal:not(.hidden),.chord-modal:not(.hidden),.lesson-visual-modal:not(.hidden){
  position:fixed!important;inset:0!important;z-index:5000!important;display:grid!important;place-items:center!important;padding:24px!important;overflow:auto!important;background:rgba(15,28,39,.58)!important;backdrop-filter:blur(5px)!important
}
.music-glossary-card,.chord-modal-card,.lesson-visual-modal-card{
  width:min(960px,calc(100vw - 36px))!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;border:1px solid rgba(255,255,255,.6)!important;border-radius:16px!important;background:#fffefa!important;box-shadow:0 28px 80px rgba(14,26,36,.28)!important;color:var(--ink)!important
}
.music-glossary-card>header,.chord-modal-card>header,.lesson-visual-modal-card>header{position:sticky!important;top:0!important;z-index:4!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding:18px 20px!important;border-bottom:1px solid var(--line)!important;background:rgba(255,254,250,.96)!important;backdrop-filter:blur(6px)!important}
.music-glossary-card>header h2,.chord-modal-card>header h2,.lesson-visual-modal-card>header h2{margin:3px 0 0!important;font-size:1.55rem!important}
.music-glossary-body{display:grid!important;gap:16px!important;padding:20px!important}.music-glossary-simple{padding:16px!important;border-radius:10px!important;background:#eef6f4!important;color:var(--ink)!important;font-size:1.03rem!important;line-height:1.7!important}
.music-glossary-body h3{margin:5px 0!important}.music-glossary-body p{line-height:1.7!important}.glossary-related-links{display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding-top:8px!important}
.chord-variation-toolbar{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:14px 20px!important;border-bottom:1px solid var(--line)!important;background:#f8faf9!important}.chord-variation-toolbar>div{text-align:center!important}.chord-variation-toolbar span{display:block!important;color:var(--muted)!important;font-size:.78rem!important}
.chord-visual-grid{display:grid!important;grid-template-columns:minmax(300px,.9fr) minmax(300px,1.1fr)!important;gap:22px!important;padding:22px!important}.chord-visual-grid>div{min-width:0!important}.chord-diagram{max-width:100%!important;height:auto!important}.chord-tab{display:grid!important;gap:3px!important;padding:14px!important;border-radius:10px!important;background:#172b3d!important;color:#eff6f8!important;font-family:ui-monospace,Consolas,monospace!important}.chord-variation-meta{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:12px 0!important}.chord-variation-meta>span{padding:6px 9px!important;border-radius:999px!important;background:#edf3f4!important;color:var(--ink-soft)!important}.chord-help{font-size:.82rem!important}
.lesson-visual-modal-card{width:min(1120px,calc(100vw - 36px))!important}.lesson-visual-modal-card #lessonVisualModalBody{padding:18px!important}.lesson-visual-modal-card .lesson-visual-canvas{min-height:360px!important;border:1px solid var(--line)!important;border-radius:12px!important}

/* ---------- Technical Training: contrast + clean history + centered TAB numbers ---------- */
.tt-player-shell .tt-instruction{background:#fffefa!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:none!important}
.tt-player-shell .tt-instruction>div:first-child{min-width:0!important;padding:4px 6px!important}
.tt-player-shell .tt-instruction>div:first-child>b{display:block!important;margin-bottom:6px!important;color:var(--ink)!important;font-size:.82rem!important;letter-spacing:.02em!important}
.tt-player-shell .tt-instruction p{margin:0!important;color:var(--ink-soft)!important;font-size:.96rem!important;line-height:1.7!important}
.tt-player-shell .tt-instruction :where(span,small){color:var(--muted)!important}
.tt-mini-progress{align-self:stretch!important;display:grid!important;align-content:center!important;justify-items:center!important;min-height:98px!important;padding:13px 14px!important;border:1px solid #dfe6e5!important;border-radius:11px!important;background:#f5f8f7!important;text-align:center!important}
.tt-mini-progress>*{background:transparent!important}.tt-mini-progress span{display:block!important;color:#647688!important;font-size:.75rem!important;font-weight:700!important}.tt-mini-progress b{display:block!important;margin-top:6px!important;color:var(--navy)!important;font-size:1rem!important;line-height:1.3!important}
.tt-assignment-player-note{display:grid!important;gap:3px!important;margin-top:12px!important;padding:10px 12px!important;border-inline-start:3px solid var(--teal)!important;border-radius:8px!important;background:#eff7f4!important}.tt-assignment-player-note b{color:#246d5b!important}.tt-assignment-player-note :where(span,small){color:#566c66!important}
.tt-tab-dot{vector-effect:non-scaling-stroke!important}.tt-fret{font-size:12px!important;font-weight:800!important;text-anchor:middle!important;dominant-baseline:middle!important;alignment-baseline:middle!important;paint-order:stroke!important;stroke:#fffdf8!important;stroke-width:2px!important;stroke-linejoin:round!important}
.tt-chord-finger,.tt-finger{font-size:10px!important;font-weight:700!important}
.tt-score-event.is-current .tt-fret{stroke:#fff2e6!important;stroke-width:2.4px!important}
.tt-player-shell .tt-status-strip :where(span){color:#627384!important}.tt-player-shell .tt-status-strip :where(b){color:var(--ink)!important}
.tt-score-legend{color:#536579!important;background:#f8faf9!important}.tt-score-legend span{color:#536579!important}
.tt-player-top .tt-player-save{padding:5px 9px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;font-size:.75rem!important}

/* ---------- Classical repertoire: deterministic left-to-right score strip ---------- */
.classical-score-viewport{direction:ltr!important;text-align:left!important;scroll-snap-type:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-gutter:stable!important}
.classical-score-viewport>.continuous-score-sheet{display:block!important;margin:0!important;transform:none!important;transform-origin:left top!important;direction:ltr!important}
.score-autofollow-active{scroll-behavior:auto!important}
.score-measure-region.current .score-measure-focus{fill:#eef8f5!important;stroke:#4d9f88!important;stroke-width:2.2!important}
.score-event.current-event .notehead{filter:drop-shadow(0 0 3px rgba(200,110,34,.32))}

/* ---------- Institutional academics: turn raw runtime rows into a readable record ---------- */
#institutionalAcademics{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important;min-width:0!important}
#institutionalAcademics>.card{margin:0!important;padding:20px 22px!important;min-width:0!important}
.institution-hero{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr)!important;gap:22px!important;align-items:center!important;background:linear-gradient(135deg,#fffefa 0,#f4f8f7 100%)!important}.institution-hero h2{margin:6px 0!important;font-size:2rem!important}.institution-hero p{max-width:780px!important;margin:0!important;line-height:1.65!important}
.institution-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.institution-kpis>div{padding:14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.institution-kpis b{display:block!important;font-size:1.25rem!important;color:var(--navy)!important}.institution-kpis span{display:block!important;margin-top:3px!important;color:var(--muted)!important;font-size:.76rem!important}
.institution-notice{border-inline-start:4px solid var(--blue)!important;background:#f8fbfc!important}.institution-notice>b{display:block!important;margin-bottom:5px!important;font-size:1.02rem!important}.institution-notice p{margin:6px 0!important;line-height:1.65!important}
.institution-term-list{display:grid!important;gap:9px!important;margin-top:12px!important}.institution-term{overflow:hidden!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.institution-term>summary{list-style:none!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;padding:14px 16px!important;cursor:pointer!important;background:#f8faf9!important}.institution-term>summary::-webkit-details-marker{display:none}.institution-term>summary span{display:grid!important;gap:3px!important}.institution-term>summary b{font-size:.98rem!important}.institution-term>summary small{color:var(--muted)!important}.institution-term>summary em{font-style:normal!important;padding:4px 8px!important;border-radius:999px!important;background:#eaf2f4!important;color:var(--navy)!important;font-size:.77rem!important;font-weight:800!important}.institution-term[open]>summary{border-bottom:1px solid var(--line)!important}
.institution-transcript-table{min-width:0!important;overflow-x:auto!important}.institution-transcript-head,.institution-transcript-row{display:grid!important;grid-template-columns:minmax(260px,1.7fr) 90px 110px 120px minmax(130px,.7fr)!important;gap:10px!important;align-items:center!important;min-width:820px!important;padding:10px 14px!important}.institution-faculty-actions .institution-transcript-head,.institution-faculty-actions .institution-transcript-row{grid-template-columns:minmax(240px,1.6fr) 86px 100px 115px minmax(125px,.7fr) 105px!important;min-width:900px!important}.institution-transcript-head{background:#eef3f4!important;color:#596b7a!important;font-size:.72rem!important;font-weight:800!important}.institution-transcript-row{border-top:1px solid #f0eee8!important}.institution-transcript-row>span:first-child{display:grid!important;gap:2px!important;min-width:0!important}.institution-transcript-row>span:first-child b{overflow-wrap:anywhere!important}.institution-transcript-row small{display:block!important;color:var(--muted)!important;font-size:.72rem!important}.institution-status{display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:5px 8px!important;border-radius:999px!important;background:#eef2f3!important;color:#536476!important;font-style:normal!important;font-size:.72rem!important;font-weight:800!important;white-space:normal!important}.institution-status.earned,.institution-status.verified,.institution-status.credit_verified{background:#e8f5f0!important;color:#26705d!important}.institution-status.checkpoint_required,.institution-status.incomplete{background:#fbf1e8!important;color:#985819!important}
.institution-credential-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}.institution-credential{display:flex!important;flex-direction:column!important;min-height:230px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.institution-credential h3{margin:5px 0!important;font-size:1.25rem!important}.institution-credential p{line-height:1.55!important}.institution-credential>b{margin-top:auto!important;padding-top:10px!important}.institution-credential-checks{display:grid!important;gap:4px!important;margin:9px 0!important;color:var(--muted)!important;font-size:.78rem!important}.institution-credential.ready,.institution-credential.verified{border-color:#b8d9ce!important;background:#f4faf7!important}
.institution-credential-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:12px!important}.institution-cohort-list{display:grid!important;gap:7px!important}.institution-cohort-row{width:100%!important;display:grid!important;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(100px,.55fr))!important;gap:10px!important;align-items:center!important;text-align:right!important}.institution-cohort-row>span{display:grid!important;gap:2px!important}.institution-cohort-row small{color:var(--muted)!important;font-size:.72rem!important}
.faculty-record-feedback,.faculty-record-feedback-list{display:grid!important;gap:8px!important}.faculty-record-feedback{padding:14px!important;border:1px solid #e5d4b8!important;border-radius:10px!important;background:#fff9ef!important}

/* ---------- Site-wide dynamic-module integration safety net ---------- */
:is(#historyApp,#gamesApp,#arcadeApp,#instrumentsApp,#performanceCenter,#academicProgramApp,#academicGovernanceApp,#institutionalAcademics,#classicalApp,#technicalTrainingApp){min-width:0!important}
:is(#historyApp,#gamesApp,#arcadeApp,#instrumentsApp,#performanceCenter,#academicProgramApp,#academicGovernanceApp) :where(.card){min-width:0!important}
:is(.history-grid,.games-grid,.arcade-grid,.instrument-choice-grid,.instrument-overview-grid,.instrument-repertoire-grid,.performance-gate-grid,.performance-kpis,.performance-rubric,.program-class-cards,.program-class-kpis,.governance-kpis,.governance-alert-grid,.governance-class-grid){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:10px!important;min-width:0!important}
:is(.history-grid,.games-grid,.arcade-grid,.instrument-choice-grid,.instrument-overview-grid,.instrument-repertoire-grid,.performance-gate-grid,.performance-kpis,.performance-rubric,.program-class-cards,.program-class-kpis,.governance-kpis,.governance-alert-grid,.governance-class-grid)>*{min-width:0!important}
:is(#historyApp,#gamesApp,#arcadeApp,#instrumentsApp,#performanceCenter,#academicProgramApp,#academicGovernanceApp) :where(p,small,span,b,strong){overflow-wrap:anywhere}
:is(.program-assignment-list,.class-audit-list,.governance-list,.performance-submission-list){display:grid!important;gap:8px!important}

@media(max-width:1050px){
  .institution-hero{grid-template-columns:1fr!important}.institution-kpis{grid-template-columns:repeat(3,1fr)!important}.institution-credential-grid{grid-template-columns:1fr 1fr!important}
  .chord-visual-grid{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  .lesson-visual-head{display:grid!important}.lesson-visual-canvas{min-height:220px!important;padding:10px!important}.lesson-visual-expand{justify-self:start!important}
  .music-glossary-modal:not(.hidden),.chord-modal:not(.hidden),.lesson-visual-modal:not(.hidden){padding:10px!important}.music-glossary-card,.chord-modal-card,.lesson-visual-modal-card{width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:12px!important}
  .chord-variation-toolbar{grid-template-columns:1fr 1fr!important}.chord-variation-toolbar>div{grid-column:1/-1;grid-row:1}.chord-visual-grid{padding:14px!important}
  .tt-mini-progress{justify-items:start!important;text-align:right!important}.tt-fret{font-size:11px!important}
  .institution-kpis,.institution-credential-grid{grid-template-columns:1fr!important}.institution-hero{padding:16px!important}.institution-transcript-head{display:none!important}.institution-transcript-row,.institution-faculty-actions .institution-transcript-row{min-width:0!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:13px!important}.institution-transcript-row>span:first-child{grid-column:1/-1!important}.institution-cohort-row{grid-template-columns:1fr 1fr!important}.institution-cohort-row>span:first-child{grid-column:1/-1!important}
}

/* ---------- R7.4 secondary modules: consistent editorial/workbench language ---------- */
/* History */
#historyApp{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important}
.history-heading,.history-hero{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;padding:20px 22px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fffefa!important;box-shadow:var(--shadow)!important}.history-hero h2,.history-heading h2{margin:5px 0!important}.history-filters{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:end!important}.history-filters label{display:grid!important;gap:5px!important;color:var(--muted)!important;font-size:.78rem!important}.history-source-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:8px!important}.history-sources{display:grid!important;gap:10px!important}.history-sources>*{padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f8faf9!important}.history-article{padding:22px!important}.history-full-article{max-width:920px!important;margin-inline:auto!important;font-size:1.02rem!important;line-height:1.82!important}.history-reading-section{padding:15px 0!important;border-bottom:1px solid #efede8!important}.history-reading-section:last-child{border-bottom:0!important}.history-terms{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin:10px 0!important}.history-terms>*{padding:4px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.76rem!important}.history-reader-note{padding:12px 14px!important;border-inline-start:3px solid var(--gold)!important;border-radius:8px!important;background:#fff9ef!important}.history-reader-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:16px!important}.history-reading-progress{height:8px!important;overflow:hidden!important;border-radius:999px!important;background:#e6eae9!important}.history-reading-progress>i{display:block!important;height:100%!important;background:var(--teal)!important}

/* Performance Center */
#performanceCenter{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important}.performance-program{display:grid!important;gap:12px!important}.performance-gate-card{display:grid!important;gap:10px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.performance-gate-card.locked{background:#f8f8f5!important;opacity:.72!important}.performance-status{display:inline-flex!important;width:max-content!important;padding:5px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.73rem!important;font-weight:800!important}.performance-meta,.performance-latest{display:flex!important;gap:8px!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:.8rem!important}.performance-rubric{display:grid!important;gap:7px!important}.performance-rubric-row{display:grid!important;grid-template-columns:minmax(150px,.65fr) minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:10px 0!important;border-bottom:1px solid #efede8!important}.faculty-feedback{padding:13px 14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f8faf9!important}.faculty-feedback.warn,.faculty-revision-brief{border-color:#e6cfad!important;background:#fff8ec!important}.faculty-rating-summary{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.portfolio-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:11px 0!important;border-bottom:1px solid #efede8!important}

/* Academic program / class management */
#academicProgramApp{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important}.program-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:22px!important;align-items:center!important}.program-kpis,.class-audit-kpis,.class-intervention-kpis{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:8px!important}.program-kpis>div,.class-audit-kpis>div,.class-intervention-kpis>div{padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f8faf9!important}.program-weeks,.program-chapter-progress,.program-assignment-list,.class-audit-class-list,.class-intervention-list,.class-intervention-history{display:grid!important;gap:8px!important}.program-week,.program-assignment-row,.class-audit-class,.class-intervention-card{padding:13px 14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.program-assignment-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:8px!important}.teacher-student-planner{display:grid!important;gap:12px!important}.lesson-teacher-feedback{padding:12px 14px!important;border:1px solid #d7e4e2!important;border-radius:9px!important;background:#f3f8f6!important}.lesson-teacher-feedback-copy{line-height:1.6!important}.lesson-teacher-feedback-status,.class-audit-status,.class-intervention-status{display:inline-flex!important;width:max-content!important;padding:4px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.72rem!important;font-weight:800!important}.class-audit-trends,.class-intervention-evidence,.class-audit-evidence{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.class-audit-trend,.class-intervention-evidence>*,.class-audit-evidence>*{padding:5px 8px!important;border-radius:999px!important;background:#f0f3f3!important;color:#5c6e7c!important;font-size:.74rem!important}

/* Academic governance */
#academicGovernanceApp{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important}.governance-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:20px!important;align-items:center!important}.governance-timeline,.governance-note-list,.governance-review-list,.governance-faculty-list{display:grid!important;gap:8px!important}.governance-timeline>*,.governance-note-list>*,.governance-review-list>*,.governance-faculty-list>*{padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.governance-resolution{padding:12px 14px!important;border-inline-start:3px solid var(--teal)!important;border-radius:9px!important;background:#f2f8f6!important}.governance-faculty{border-top:3px solid #8aa9b7!important}.danger-text{color:#a33f46!important}

/* Games */
#gamesApp{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important}.games-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important}.games-recommend{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:15px!important;align-items:center!important}.game-card{display:grid!important;gap:10px!important;min-height:180px!important;padding:17px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.game-card.recommended{border-color:#9fc8ba!important;background:#f5faf8!important}.game-card.locked{opacity:.65!important}.game-icon{width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:#eaf3f6!important;font-size:1.35rem!important}.game-card-meta{display:flex!important;gap:6px!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:.76rem!important}.game-workspace{padding:20px!important}.games-active-head{display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:flex-start!important}.game-run-actions,.sight-controls{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.game-rhythm-shell,.game-sight-shell,.game-composition-shell{display:grid!important;gap:12px!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fafbf9!important}.composition-slots,.game-fret-choices,.composition-checks{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:8px!important}.composition-feedback,.composition-notes{padding:11px 13px!important;border-radius:8px!important;background:#f2f6f6!important}.rhythm-timeline{min-height:76px!important;padding:10px!important;border-radius:9px!important;background:#172b3d!important;color:#f3f7f8!important;direction:ltr!important}.game-tap{min-height:64px!important}

/* Music Arcade */
#arcadeApp{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important}.arcade-hero,.arcade-featured{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;padding:20px 22px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fffefa!important;box-shadow:var(--shadow)!important}.arcade-featured{background:linear-gradient(135deg,#f4faf8,#fffaf2)!important}.arcade-big-icon,.arcade-card-art{display:grid!important;place-items:center!important;border-radius:14px!important;background:#eaf3f6!important;color:var(--navy)!important}.arcade-big-icon{width:80px!important;height:80px!important;font-size:2.2rem!important}.arcade-card{display:grid!important;gap:10px!important;min-height:190px!important;padding:17px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.arcade-card.locked{opacity:.65!important}.arcade-card-art{height:72px!important;font-size:1.7rem!important}.arcade-card-stats,.arcade-featured-meta,.arcade-hud{display:flex!important;gap:7px!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:.76rem!important}.arcade-arena,.arcade-play-shell,.arcade-ready{display:grid!important;gap:12px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important}.arcade-main-controls,.arcade-run-tools,.arcade-sound-controls{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important}.arcade-result-overlay{padding:18px!important;border-radius:12px!important;background:#f5faf8!important;text-align:center!important}.arcade-result-stars{font-size:1.6rem!important;color:var(--gold)!important}.arcade-level-picker{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.arcade-level-badge,.arcade-gate{padding:5px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.74rem!important}

/* Instruments hub */
#instrumentsApp{display:grid!important;gap:14px!important;max-width:1460px!important;margin-inline:auto!important}.instrument-heading,.instrument-hub-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important}.instrument-choice-card,.instrument-piece-card,.instrument-lesson-card,.instrument-checkpoint{display:grid!important;gap:10px!important;padding:17px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.instrument-choice-card.guitar{border-color:#9fc8ba!important;background:#f5faf8!important}.instrument-symbol{width:46px!important;height:46px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:#eaf3f6!important;font-size:1.5rem!important}.instrument-daily-choice,.performance-callout,.instrument-placement-card,.instrument-piece-workspace,.instrument-lesson-workspace{padding:18px!important}.instrument-placement-options,.instrument-domain-result,.instrument-piece-phases,.instrument-lesson-actions,.instrument-inline-practice{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.instrument-placement-progress,.instrument-piece-tempo{height:8px!important;overflow:hidden!important;border-radius:999px!important;background:#e5eae9!important}.instrument-placement-progress>i,.instrument-piece-tempo>i{display:block!important;height:100%!important;background:var(--teal)!important}.instrument-lesson-meta,.instrument-library-note,.instrument-selection-note{color:var(--muted)!important;font-size:.8rem!important}.coverage-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:8px!important}.coverage-truth{padding:10px 12px!important;border-radius:9px!important;background:#f3f7f7!important}

/* Tools / RC6 */
#toolsApp,.rc6-panel{min-width:0!important}.mistake-row,.review-row,.gate-row,.weekly-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:11px 0!important;border-bottom:1px solid #efede8!important}.gate-dot{width:11px!important;height:11px!important;border-radius:50%!important;background:#bbb!important}.gate-row.ready .gate-dot{background:var(--teal)!important}.review-card,.sight-generated,.musicxml-measures,.fretboard-mini{padding:14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fafbf9!important}.recovery-choice-grid,.sight-bars-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:8px!important}.chord-chip,.degree-chip,.scale-chip,.dictionary-term{display:inline-flex!important;padding:5px 8px!important;margin:2px!important;border-radius:999px!important;background:#edf3f4!important;color:#465c6c!important}.ear-options{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:8px!important}.numbers-output,.numbers-line,.musicxml-measure{font-family:ui-monospace,Consolas,monospace!important;direction:ltr!important}.preview-checklist{display:grid!important;gap:6px!important}

@media(max-width:760px){
  .history-heading,.history-hero,.games-heading,.instrument-heading,.instrument-hub-heading{display:grid!important}
  .program-hero,.governance-hero,.games-recommend,.arcade-hero,.arcade-featured{grid-template-columns:1fr!important}
  .performance-rubric-row{grid-template-columns:1fr!important}.portfolio-row{grid-template-columns:1fr!important}
  .mistake-row,.review-row,.gate-row,.weekly-row{grid-template-columns:1fr!important}
}

/* ======================================================================
   R7.5 FULL MODULE COMPLETION SWEEP — 2026-09-27
   Runtime modules that were still falling back to browser/default layout.
   ====================================================================== */

/* ---------- Repertoire scroll/follow hardening ---------- */
.classical-score-viewport{
  display:block!important;
  direction:ltr!important;
  text-align:left!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overflow-anchor:none!important;
  overscroll-behavior-inline:contain!important;
  scroll-snap-type:none!important;
  unicode-bidi:isolate!important;
}
.continuous-score-track{
  position:relative!important;
  display:block!important;
  width:max-content!important;
  min-width:100%!important;
  margin:0!important;
  padding:0!important;
  direction:ltr!important;
  text-align:left!important;
  unicode-bidi:isolate!important;
  transform:none!important;
}
.score-start-anchor{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;pointer-events:none!important}
.continuous-score-track>.continuous-score-sheet{display:block!important;margin:0!important;direction:ltr!important;transform:none!important;transform-origin:left top!important}

/* ---------- Shared runtime module baseline ---------- */
:is(#teacherStudioApp,#academicProgramApp,#academicGovernanceApp,#institutionalAcademics,#performanceCenter,#historyApp,#gamesApp,#arcadeApp,#instrumentsApp,#classicalApp,#technicalTrainingApp,#masteryPathMount){
  min-width:0!important;
  color:var(--ink)!important;
}
:is(#teacherStudioApp,#academicProgramApp,#academicGovernanceApp,#institutionalAcademics,#performanceCenter,#historyApp,#gamesApp,#arcadeApp,#instrumentsApp,#classicalApp,#technicalTrainingApp,#masteryPathMount) :where(input,select,textarea){
  width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #cfd9dd;border-radius:9px;background:#fff;color:var(--ink);font:inherit;line-height:1.35;box-sizing:border-box
}
:is(#teacherStudioApp,#academicProgramApp,#academicGovernanceApp,#institutionalAcademics,#performanceCenter,#historyApp,#gamesApp,#arcadeApp,#instrumentsApp,#classicalApp,#technicalTrainingApp,#masteryPathMount) textarea{min-height:96px;resize:vertical}
:is(#teacherStudioApp,#academicProgramApp,#academicGovernanceApp,#institutionalAcademics,#performanceCenter,#historyApp,#gamesApp,#arcadeApp,#instrumentsApp,#classicalApp,#technicalTrainingApp,#masteryPathMount) :where(p,small,span,b,strong,h1,h2,h3,h4,h5,label){overflow-wrap:anywhere}

/* ---------- Teacher Studio ---------- */
#teacherStudioApp{display:grid!important;gap:14px!important;max-width:1480px!important;margin-inline:auto!important}
.teacher-studio-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:22px!important;align-items:center!important;padding:24px 26px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:linear-gradient(135deg,#fffefa,#f4f8f7)!important;box-shadow:var(--shadow)!important}
.teacher-studio-hero h2{margin:4px 0 6px!important;font-size:2rem!important}.teacher-studio-hero p{max-width:860px!important;margin:0!important;color:var(--muted)!important;line-height:1.65!important}
.teacher-hero-stats{display:grid!important;grid-template-columns:repeat(2,minmax(105px,1fr))!important;gap:8px!important;align-items:stretch!important}.teacher-hero-stats>div{padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;text-align:center!important}.teacher-hero-stats b{display:block!important;font-size:1.35rem!important}.teacher-hero-stats span{display:block!important;color:var(--muted)!important;font-size:.76rem!important}.teacher-hero-stats>button{grid-column:1/-1!important}
.teacher-add-form{padding:18px 20px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--shadow)!important}.teacher-form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.teacher-form-grid label{display:grid!important;gap:5px!important;color:var(--ink-soft)!important;font-size:.8rem!important}.teacher-form-grid .wide{grid-column:1/-1!important}
.teacher-studio-layout{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
.teacher-roster{position:sticky!important;top:calc(var(--topbar) + 16px)!important;display:grid!important;gap:10px!important;max-height:calc(100vh - var(--topbar) - 30px)!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#f8faf9!important;overflow:auto!important}.teacher-roster-tools{display:grid!important;grid-template-columns:minmax(0,1fr) 104px!important;gap:7px!important}.teacher-roster-list{display:grid!important;gap:6px!important}.teacher-student-row{display:grid!important;grid-template-columns:40px minmax(0,1fr) 54px!important;gap:9px!important;align-items:center!important;width:100%!important;min-height:68px!important;padding:9px 10px!important;border:1px solid transparent!important;border-radius:9px!important;background:#fff!important;text-align:right!important;box-shadow:none!important}.teacher-student-row:hover{border-color:#cbdadd!important;background:#f7fbfa!important}.teacher-student-row.active{border-color:#93c4b6!important;background:#eef8f4!important;box-shadow:inset 3px 0 0 var(--teal)!important}.teacher-student-row>span:nth-child(2){display:grid!important;gap:1px!important;min-width:0!important}.teacher-student-row small,.teacher-student-row em{color:var(--muted)!important;font-size:.7rem!important;font-style:normal!important}.teacher-student-row>i{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:50%!important;background:conic-gradient(var(--teal) calc(var(--p)*1%),#e4e9e8 0)!important;color:#173b55!important;font-size:.72rem!important;font-style:normal!important;font-weight:800!important}.teacher-avatar-letter{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#e7f1f4!important;color:var(--navy)!important;font-weight:900!important}.teacher-empty-mini{padding:16px!important;border:1px dashed #ccd8da!important;border-radius:9px!important;color:var(--muted)!important;text-align:center!important}
.teacher-workspace{min-width:0!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;box-shadow:var(--shadow)!important}.teacher-student-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:start!important;padding:20px 22px!important;border-bottom:1px solid var(--line)!important;background:#fffefa!important}.teacher-student-head h2{margin:5px 0 3px!important;font-size:1.65rem!important}.teacher-student-head p{margin:0!important;color:var(--muted)!important}.teacher-student-status{display:grid!important;gap:4px!important;justify-items:end!important;text-align:end!important}.teacher-student-status span{padding:4px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#5b6f7e!important;font-size:.72rem!important}.teacher-student-status b{max-width:300px!important;font-size:.82rem!important}
.teacher-tabs{display:flex!important;gap:0!important;overflow:auto!important;border-bottom:1px solid var(--line)!important;background:#f7f9f8!important}.teacher-tabs>button{flex:0 0 auto!important;min-height:48px!important;padding:0 15px!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#516675!important}.teacher-tabs>button.active{border-bottom-color:var(--navy)!important;background:#fff!important;color:var(--navy)!important}.teacher-tab-body{display:grid!important;gap:14px!important;padding:20px!important;min-width:0!important}
.teacher-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.teacher-kpis>div{min-width:0!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#f8faf9!important}.teacher-kpis span,.teacher-kpis small{display:block!important;color:var(--muted)!important;font-size:.72rem!important}.teacher-kpis b{display:block!important;margin:4px 0!important;font-size:1rem!important}
.teacher-card-block{display:grid!important;gap:12px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.teacher-recommend{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.teacher-recommend p{margin:0!important;padding:11px 12px!important;border-radius:9px!important;background:#f3f7f6!important;line-height:1.55!important}.teacher-domain-map{display:grid!important;gap:7px!important}.teacher-domain-map>div{display:grid!important;grid-template-columns:minmax(135px,.45fr) minmax(0,1fr) 46px!important;gap:10px!important;align-items:center!important}.teacher-domain-map i{height:8px!important;overflow:hidden!important;border-radius:999px!important;background:#e6ebea!important}.teacher-domain-map i>b{display:block!important;height:100%!important;border-radius:999px!important;background:var(--teal)!important}.teacher-domain-map em{font-style:normal!important;font-size:.76rem!important;color:var(--muted)!important;text-align:left!important}
.teacher-empty-state{display:grid!important;place-items:center!important;gap:8px!important;min-height:300px!important;padding:32px!important;text-align:center!important}.teacher-empty-state>span{font-size:2rem!important;color:#7e9eaa!important}.teacher-empty-state p{max-width:600px!important;color:var(--muted)!important;line-height:1.6!important}
.teacher-plan-print{display:grid!important;gap:14px!important}.teacher-plan-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:start!important;padding-bottom:14px!important;border-bottom:1px solid var(--line)!important}.teacher-plan-head h2{margin:5px 0!important}.teacher-plan-actions,.teacher-plan-nav,.teacher-plan-review,.teacher-plan-prep,.teacher-plan-focus{display:flex!important;gap:7px!important;flex-wrap:wrap!important;align-items:center!important}.teacher-plan-logic{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.teacher-plan-logic>section{padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fafbf9!important}.teacher-plan-logic>section.warn{border-color:#e6c28b!important;background:#fff8eb!important}.teacher-plan-logic>section.ok{border-color:#a9d2c6!important;background:#f1f9f5!important}.teacher-plan-logic p{margin:5px 0 0!important;color:var(--muted)!important;line-height:1.55!important}.teacher-plan-materials{display:flex!important;gap:7px!important;flex-wrap:wrap!important;align-items:center!important;padding:12px!important;border-radius:9px!important;background:#f3f7f6!important}.teacher-plan-materials h3{width:100%!important;margin:0 0 3px!important}.teacher-plan-materials span{padding:5px 8px!important;border-radius:999px!important;background:#fff!important;border:1px solid #dbe4e2!important;font-size:.76rem!important}.teacher-plan-blocks{display:grid!important;gap:10px!important}.teacher-plan-blocks>article{overflow:hidden!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.teacher-plan-blocks>article.done{border-color:#9dcbbb!important;background:#f5faf8!important}.teacher-plan-blocks>article>header{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:12px 14px!important;background:#f8faf9!important;border-bottom:1px solid var(--line)!important}.teacher-plan-blocks>article>header>span{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#e5f0f3!important;color:var(--navy)!important;font-weight:900!important}.teacher-plan-blocks>article>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:12px!important}.teacher-plan-blocks>article>div>section{padding:11px 12px!important;border-radius:9px!important;background:#fafbf9!important}.teacher-plan-blocks p{margin:4px 0 0!important;color:var(--ink-soft)!important;line-height:1.55!important}.teacher-script{background:#eef6f4!important}.teacher-plan-errors{display:grid!important;gap:7px!important}.teacher-plan-errors>div{display:grid!important;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr)!important;gap:10px!important;padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:9px!important}.teacher-plan-errors span{color:var(--muted)!important}.teacher-plan-homework{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.teacher-plan-homework>div{padding:14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fafbf9!important}.teacher-finish{display:grid!important;gap:10px!important;padding:16px!important;border:1px solid #bfd8d0!important;border-radius:11px!important;background:#f4faf7!important}.teacher-rating-grid,.teacher-faculty-rating-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.teacher-rating-grid label,.teacher-faculty-rating-grid label{display:grid!important;gap:5px!important;font-size:.78rem!important}
.teacher-assessment-grid,.teacher-first-run-grid,.teacher-link-grid,.teacher-privacy-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.teacher-assessment-card,.teacher-first-run,.teacher-linked-summary,.teacher-linked-account,.teacher-invite-box,.teacher-faculty-review,.teacher-performance-pending{padding:15px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fafbf9!important}.teacher-assessment-progress{height:9px!important;overflow:hidden!important;border-radius:999px!important;background:#e5eae9!important}.teacher-assessment-progress>i{display:block!important;height:100%!important;background:var(--teal)!important}.teacher-assessment-dots,.teacher-plan-dots{display:flex!important;gap:5px!important;flex-wrap:wrap!important}.teacher-assessment-dots>* ,.teacher-plan-dots>*{width:8px!important;height:8px!important;border-radius:50%!important;background:#d5dddf!important}.teacher-assessment-dots>.active,.teacher-plan-dots>.active{background:var(--teal)!important}.teacher-assessment-nav{display:flex!important;justify-content:space-between!important;gap:8px!important}.teacher-access-modes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.teacher-access-modes label{display:flex!important;align-items:flex-start!important;gap:8px!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.teacher-access-modes label.active{border-color:#9ec8bb!important;background:#f2f9f6!important}.teacher-qa-note{padding:10px 12px!important;border-radius:9px!important;background:#fff6e6!important;color:#76531f!important}.teacher-review-state{padding:10px 12px!important;border-radius:9px!important;background:#eef4f6!important}.teacher-secondary-disclosure{padding:12px 14px!important;border:1px dashed #c8d5d8!important;border-radius:9px!important;color:var(--muted)!important}.teacher-session-list,.teacher-tech-assignment-list{display:grid!important;gap:8px!important}.teacher-tech-assignment-form{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fafbf9!important}.teacher-tech-assignment-form label{display:grid!important;gap:4px!important}.teacher-tech-assignment-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.teacher-tech-check{display:flex!important;gap:7px!important;align-items:center!important}.teacher-plan-focus-card,.teacher-plan-gate,.teacher-plan-prep-body,.teacher-plan-focus-body{padding:13px 14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fafbf9!important}.teacher-plan-stepper{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:7px!important}.teacher-plan-stepper>*{padding:9px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important}.teacher-plan-stepper>.active{border-color:#91c3b4!important;background:#eef8f4!important}.teacher-plan-all{display:grid!important;gap:10px!important}.teacher-plan-review{justify-content:space-between!important}.invite-result.pending{color:#8a621f!important}

/* ---------- History reader ---------- */
.history-full-view,.history-reading-view{display:grid!important;gap:14px!important;max-width:1100px!important;margin-inline:auto!important}.history-reading-view{padding:24px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--shadow)!important}.history-card-meta{display:flex!important;gap:7px!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:.76rem!important}.history-reader-mode{max-width:760px!important;margin-inline:auto!important;font-size:1.05rem!important;line-height:1.85!important}.history-transition{padding:12px 14px!important;border-inline-start:3px solid var(--teal)!important;background:#f3f8f6!important;border-radius:8px!important}

/* ---------- Mastery path ---------- */
#masteryPathMount{display:grid!important;gap:12px!important}.mastery-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:20px!important;align-items:center!important;padding:20px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:linear-gradient(135deg,#fffefa,#f4f8f7)!important}.mastery-hero h3{margin:4px 0!important;font-size:1.45rem!important}.mastery-hero p{margin:0!important;color:var(--muted)!important;line-height:1.65!important}.mastery-score{min-width:120px!important;padding:14px!important;border-radius:11px!important;background:#173b55!important;color:#fff!important;text-align:center!important}.mastery-score b{display:block!important;font-size:1.7rem!important}.mastery-score span{display:block!important;margin-top:3px!important;color:#d9e7ed!important;font-size:.75rem!important}.mastery-domain-map{display:grid!important;gap:7px!important}.mastery-domain-map>div{display:grid!important;grid-template-columns:minmax(130px,.45fr) minmax(0,1fr) 46px!important;gap:10px!important;align-items:center!important}.mastery-domain-map i{height:8px!important;border-radius:999px!important;background:#e5eae9!important;overflow:hidden!important}.mastery-domain-map i>b{display:block!important;height:100%!important;background:var(--teal)!important}.mastery-domain-map em{font-style:normal!important;color:var(--muted)!important;font-size:.75rem!important}.mastery-rule{padding:14px!important;border-radius:10px!important;background:#f3f7f6!important}.mastery-rule p{margin:5px 0 0!important;color:var(--muted)!important;line-height:1.6!important}.mastery-levels{display:grid!important;gap:9px!important}.mastery-level{border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important}.mastery-level>summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:13px 15px!important;cursor:pointer!important;background:#fafbf9!important}.mastery-level.current>summary{background:#eef7f4!important}.mastery-level summary>div{display:grid!important;gap:2px!important}.mastery-level summary small,.mastery-level summary em{color:var(--muted)!important;font-size:.74rem!important;font-style:normal!important}.mastery-strands{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:12px!important}.mastery-strands>article{padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.mastery-strands>article.locked{opacity:.62!important}.mastery-gate{padding:12px 14px!important;border-top:1px solid var(--line)!important;background:#f8faf9!important}.mastery-gate p{margin:4px 0 0!important;color:var(--muted)!important}

/* ---------- Classical secondary panels that were still unstyled ---------- */
.classical-checkpoint,.classical-exam-run,.classical-exam-intro,.classical-reading-head,.classical-stage-challenge-callout,.fingering-alternative-lab,.playability-integrity,.piece-success{padding:15px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.classical-exam-feedback,.classical-reading-feedback,.classical-check-feedback{padding:11px 13px!important;border-radius:8px!important;background:#f3f7f6!important}.fingering-alternative-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:8px!important}.fingering-alternative{padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fafbf9!important}.fingering-alternative-head,.fingering-lab-head,.playability-sample-head{display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:flex-start!important}.fingering-alternative-metrics,.playability-metrics,.playability-legend,.playability-review-actions,.guided-listening-quick-actions,.guided-listening-quickbar{display:flex!important;gap:7px!important;flex-wrap:wrap!important;align-items:center!important}.playability-timeline,.guided-listening-map{display:grid!important;gap:7px!important}.playability-measure,.guided-listening-map>li{padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fafbf9!important}.guided-listening-map>li.active{border-color:#93c4b6!important;background:#eef8f4!important}.guided-listening-live,.guided-listening-live-primary{padding:12px 14px!important;border-radius:9px!important;background:#eef6f4!important}.pedagogy-list,.pedagogy-mistakes{display:grid!important;gap:6px!important}.pedagogy-success,.pedagogy-takeaway{padding:11px 13px!important;border-radius:9px!important;background:#f3f8f6!important}.worked-example-flow{padding:12px!important;border-inline-start:3px solid #7ea5b4!important;background:#f4f7f8!important}.movement-picker{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important}.piece-secondary-panel-body{padding:14px!important}.playback-explain{display:grid!important;gap:2px!important;min-width:220px!important;padding:9px 11px!important;border-radius:8px!important;background:#eef4f5!important}.classical-run-status{padding:10px 14px!important;border-top:1px solid var(--line)!important;background:#f8faf9!important;color:var(--ink-soft)!important}.classical-path-intro,.classical-piece-access{padding:13px 14px!important;border-radius:9px!important;background:#f3f7f6!important}

/* ---------- Academic program supplemental runtime classes ---------- */
#academicProgramApp :where(.teacher-command-center,.recovery-review-workspace,.recovery-execution,.recovery-stability-monitor,.program-review-panel,.program-form,.program-class-detail){display:grid!important;gap:12px!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}
#academicProgramApp :where(.teacher-command-kpis,.teacher-cohort-kpis,.recovery-review-kpis,.recovery-stability-kpis,.program-assignment-counters){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
#academicProgramApp :where(.teacher-command-kpis,.teacher-cohort-kpis,.recovery-review-kpis,.recovery-stability-kpis,.program-assignment-counters)>*{padding:11px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f8faf9!important}
#academicProgramApp :where(.teacher-action-queue,.teacher-class-queue,.teacher-cohort-list,.teacher-student-monitor,.recovery-stability-list,.recovery-review-students,.program-review-roster,.program-roster,.program-log-list,.program-class-list){display:grid!important;gap:7px!important}
#academicProgramApp :where(.teacher-action-item,.teacher-cohort-row,.teacher-cohort-person,.recovery-stability-students,.recovery-review-students>*,.program-roster>*,.program-review-roster>*,.program-log-list>*){padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fafbf9!important}
#academicProgramApp :where(.teacher-command-stats,.teacher-command-clear,.teacher-cohort-copy,.teacher-cohort-evidence,.recovery-route,.recovery-review-rule,.recovery-review-outcome,.recovery-stability-detail,.recovery-stability-evidence,.program-feedback-box,.program-feedback-focus,.program-next-due,.program-submission-evidence){padding:11px 13px!important;border-radius:8px!important;background:#f2f7f6!important}
#academicProgramApp :where(.program-review-actions,.recovery-evidence-actions,.recovery-review-actions,.teacher-student-plan-options){display:flex!important;gap:7px!important;flex-wrap:wrap!important}.teacher-action-rank,.program-grade,.program-assignment-status,.teacher-cohort-state{display:inline-flex!important;width:max-content!important;padding:4px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.72rem!important;font-weight:800!important}

/* ---------- Arcade + Instruments + RC6 supplemental ---------- */
#arcadeApp :where(.arcade-active-head,.arcade-featured-copy,.arcade-action,.arcade-fixed-message,.arcade-gate-question,.arcade-rules,.detective-office,.detective-world,.evidence-board,.fret-maze-world,.rhythm-quest-world,.stage-hero-world){padding:14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fafbf9!important}.arcade-active-head{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:flex-start!important}.arcade-lane-button,.fret-answer-buttons>button,.stage-controls>button{min-width:72px!important}.fret-maze-grid,.stage-lanes,.detective-suspects{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))!important;gap:7px!important}.rhythm-quest-track{min-height:110px!important;border-radius:10px!important;background:#173b55!important;color:#fff!important;overflow:hidden!important}.stage-crowd,.stage-hit-line{min-height:44px!important;border-radius:8px!important;background:#eef3f4!important}
#instrumentsApp :where(.instrument-track-hero,.instrument-practice-shell,.instrument-practice-arena,.instrument-stage,.instrument-stage-challenge,.instrument-teacher-plan,.instrument-shared-layer,.lab-workspace,.performance-lab-summary){padding:15px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.instrument-track-selector,.instrument-subnav,.instrument-step-dots,.instrument-shared-actions,.instrument-stage-list,.performance-mode-grid{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.instrument-practice-guide,.instrument-practice-result,.instrument-placement-result,.instrument-stage-challenge-callout{padding:11px 13px!important;border-radius:8px!important;background:#f3f7f6!important}.instrument-progress-ring{width:64px!important;height:64px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#edf3f4!important}.lab-live-metrics,.instrument-practice-score{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:7px!important}.lab-live-metrics>*,.instrument-practice-score>*{padding:9px!important;border-radius:8px!important;background:#f8faf9!important}.piano-key,.bass-string{border:1px solid #c9d4d8!important;background:#fff!important}.piano-key.active,.bass-string.active{background:#e5f3ee!important;border-color:#86bbaa!important}.instrument-visual{max-width:100%!important;overflow:auto!important}
#toolsApp :where(.midi-binding,.rc6-score,.review-answer,.xml-summary,.scale-chords,.scale-degrees,.scale-notes,.sight-gen-bar,.sight-gen-rhythm,.singer-command,.stage-exam-timer){padding:9px 11px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fafbf9!important}.scale-chords,.scale-degrees,.scale-notes{display:flex!important;gap:6px!important;flex-wrap:wrap!important}

/* ---------- Performance small gaps ---------- */
.performance-exam-head{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important}.performance-path-note,.performance-reflection{padding:12px 14px!important;border-radius:9px!important;background:#f3f7f6!important;color:var(--ink-soft)!important}

/* ---------- Final no-default guard inside application views ---------- */
.app-view :where(details>summary){cursor:pointer}
.app-view :where(table){max-width:100%;border-collapse:collapse}.app-view :where(th,td){padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.app-view :where(img,svg,canvas){max-width:100%}

@media(max-width:1100px){
  .teacher-studio-layout{grid-template-columns:1fr!important}.teacher-roster{position:static!important;max-height:none!important}.teacher-roster-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .teacher-kpis,.teacher-plan-logic,.teacher-rating-grid,.teacher-faculty-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .teacher-form-grid,.teacher-tech-assignment-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #academicProgramApp :where(.teacher-command-kpis,.teacher-cohort-kpis,.recovery-review-kpis,.recovery-stability-kpis,.program-assignment-counters){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .teacher-studio-hero,.teacher-student-head,.teacher-plan-head,.movement-picker,.performance-exam-head{grid-template-columns:1fr!important}.teacher-hero-stats{width:100%!important}.teacher-roster-list,.teacher-kpis,.teacher-plan-logic,.teacher-plan-blocks>article>div,.teacher-plan-homework,.teacher-rating-grid,.teacher-faculty-rating-grid,.teacher-assessment-grid,.teacher-first-run-grid,.teacher-link-grid,.teacher-privacy-grid,.teacher-access-modes,.teacher-form-grid,.teacher-tech-assignment-form,.mastery-strands{grid-template-columns:1fr!important}.teacher-recommend{grid-template-columns:1fr!important}.teacher-domain-map>div,.mastery-domain-map>div{grid-template-columns:1fr!important}.teacher-student-status{justify-items:start!important;text-align:start!important}.teacher-plan-blocks>article>header{grid-template-columns:34px minmax(0,1fr)!important}.teacher-plan-blocks>article>header>label{grid-column:1/-1!important}.teacher-plan-errors>div{grid-template-columns:1fr!important}.teacher-tech-assignment-row{grid-template-columns:1fr!important}
}

/* ---------- R7.5 completion: legacy lesson/retention/adaptive components ---------- */
.adaptive-study-plan-home,.home-assessment-review,.learning-intervention-home,.learning-reset-card,.retention-review-home,.retention-review-dialog{display:grid!important;gap:12px!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}
.adaptive-study-plan-head,.adaptive-study-plan-actions,.retention-result-actions,.learning-reset-options,.lesson-card-footer,.teacher-assignment-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex-wrap:wrap!important}.adaptive-study-plan-steps,.learning-analytics-domain-grid,.lesson-mastery-levels,.anchor-grid,.path-steps,.first-run-stepper{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:8px!important}.adaptive-study-plan-steps>*,.learning-analytics-domain-grid>*,.lesson-mastery-levels>*,.path-steps>*{padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fafbf9!important}.learning-analytics-plan,.learning-analytics-clear,.learning-reset-warning,.retention-instruction,.lesson-retention-status,.pedagogy-warning,.pedagogy-bridge,.pedagogy-goal,.pedagogy-principle,.pedagogy-route{padding:11px 13px!important;border-radius:8px!important;background:#f3f7f6!important}.learning-reset-warning,.pedagogy-warning{background:#fff6e8!important;color:#755322!important}.intervention-outcomes-section{display:grid!important;gap:8px!important}.intervention-outcome-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;padding:10px 12px!important;border-bottom:1px solid #efede8!important}.curriculum-specialization-picker,.curriculum-v2-hero{padding:16px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important}.curriculum-v2-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important}.curriculum-v2-hero-copy{display:grid!important;gap:5px!important}.chapter-no,.lesson-code,.reading-question-id,.zone-head,.position-lock-title{display:inline-flex!important;width:max-content!important;padding:4px 7px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.7rem!important;font-weight:800!important}.chapter-progress,.mini-progress{height:8px!important;border-radius:999px!important;background:#e5eae9!important;overflow:hidden!important}.chapter-progress>* ,.mini-progress>*{display:block!important;height:100%!important;background:var(--teal)!important}.lesson-note-card,.lesson-mastery-evidence,.mic-phrase-summary,.mic-event-result{padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fafbf9!important}.lesson-note-button{min-height:34px!important}.mic-event-results{display:grid!important;gap:6px!important}.retention-question,.retention-result{padding:14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.retention-answer,.retention-rating{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:7px!important}.rhythm-token,.fluency-slot,.beat-boxes>*{display:inline-grid!important;place-items:center!important;min-width:38px!important;min-height:38px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important}.rhythm-token.selected,.fluency-slot.has-note,.beat-boxes>*.selected{border-color:#82b7a8!important;background:#eaf6f2!important}.position-list,.finger-map{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))!important;gap:7px!important}.position-rule{padding:9px 11px!important;border-radius:8px!important;background:#f3f7f6!important}.performance-note{padding:10px 12px!important;border-inline-start:3px solid #7da8b7!important;background:#f4f7f8!important}.teacher-bubble,.teacher-message{padding:10px 12px!important;border-radius:10px!important;background:#edf4f6!important}.teacher-guidance-check,.teacher-guidance-reason,.teacher-guidance-complete{padding:9px 11px!important;border-radius:8px!important;background:#f3f8f6!important}.teacher-complete{color:#28735f!important;font-weight:800!important}.nav-flow,.daily-session-open,.note-speed-open,.first-run-active{outline:2px solid rgba(43,136,115,.25)!important;outline-offset:2px!important}.input-locked{opacity:.58!important;pointer-events:none!important}.ai-online,.resolved,.valid,.in-zone,.valid-outside{color:#28735f!important}.outside,.still-gap,.high{color:#a45d25!important}.is-timed,.timed{font-variant-numeric:tabular-nums!important}.staff-svg,.staff-svg-single,.phrase-svg{display:block!important;width:100%!important;height:auto!important;overflow:visible!important}.staff-lines,.staff-notes{pointer-events:none!important}.stage-bar{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:8px!important;align-items:center!important}.stage-bar-no{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#e8f1f3!important;color:var(--navy)!important;font-weight:900!important}.v3-guitar-silhouette,.v3-tuner-meter,.v3-fret-cell,.v3-chords,.v3-head,.v3-anatomy-labels,.v3-fret-labels{max-width:100%!important}.tap-flash{animation:none!important}

/* ---------- Academic Program remaining audit/recovery surfaces ---------- */
.class-level-audit,.class-audit-detail,.class-intervention-detail,.class-recovery-summary,.class-recovery-route{display:grid!important;gap:10px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.class-audit-coverage,.class-intervention-effectiveness,.class-audit-count,.class-intervention-count{display:inline-flex!important;width:max-content!important;padding:4px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.72rem!important;font-weight:800!important}.class-audit-lesson,.class-audit-individual,.class-recovery-people,.class-recovery-missing,.teacher-student-signals,.teacher-cohort-classes{display:grid!important;gap:6px!important}.class-audit-lesson>*,.class-audit-individual>*,.class-recovery-people>*,.class-recovery-missing>*{padding:9px 11px!important;border-radius:8px!important;background:#f8faf9!important}.class-recovery-route,.recovery-evidence-cta,.teacher-plan-goal,.teacher-student-plan-rule,.recovery-stability-watch{border-inline-start:3px solid #7da8b7!important;background:#f3f7f8!important}.program-review-form{display:grid!important;gap:9px!important}.program-assignment-link,.program-assignment-target,.program-span,.teacher-cohort-health{color:var(--muted)!important;font-size:.8rem!important}.program-term-locked,.recovery-linked,.revision,.needs-revision,.urgent{display:inline-flex!important;width:max-content!important;padding:4px 8px!important;border-radius:999px!important;font-size:.72rem!important;font-weight:800!important}.program-term-locked{background:#edf0f1!important;color:#64737f!important}.recovery-linked,.revision{background:#eaf6f2!important;color:#28735f!important}.needs-revision,.urgent{background:#fff0e7!important;color:#9a4f22!important}

/* ---------- Classical labels/statuses ---------- */
.classical-pill,.piece-title-label,.lesson-step-label,.reading-question-id,.open-repertoire-estimate{display:inline-flex!important;width:max-content!important;padding:4px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.7rem!important;font-weight:800!important}.classical-single-staff{overflow:auto!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fffefa!important}.classical-stage-challenge-passed,.stage-challenge-score,.playability-status,.playability-empty{padding:10px 12px!important;border-radius:8px!important;background:#f3f8f6!important}.stage-challenge-question{padding:12px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#fff!important}.comfortable,.steady{color:#28735f!important}.revise,.hard{color:#9a5a25!important}.unavailable{color:#9a464a!important}.compare-fingering,.fingering-route,.fingering-lab-rule{padding:9px 11px!important;border-radius:8px!important;background:#f5f7f7!important}.guided-listening-map-panel,.guided-main-cta,.guided-listening-quickbar-intro,.guided-listening-instrument{min-width:0!important}.open-repertoire-card-details{margin-top:8px!important}.open-repertoire-card-details>summary{font-weight:800!important;color:var(--navy)!important}.primary-filters{align-items:end!important}.playability-hotspot-open{border-color:#8abaaa!important;background:#eef8f4!important}.score-focus-toggle{white-space:nowrap!important}.practical{border-color:#9fc6b8!important;background:#f3f9f6!important}

/* ---------- Technical Training remaining dynamic classes ---------- */
.tt-assignment-locked,.tt-daily-empty,.tt-next-exercise,.tt-pb-card,.tt-routine-meta,.tt-technique{padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fafbf9!important}.tt-chord-event,.tt-rep-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))!important;gap:7px!important}.tt-plan-order{display:inline-grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:50%!important;background:#e7f1f3!important;color:var(--navy)!important;font-weight:900!important}.tt-note-flag{display:inline-flex!important;padding:3px 7px!important;border-radius:999px!important;background:#fff2e9!important;color:#98501f!important;font-size:.7rem!important}.tt-assignment-locked{opacity:.72!important}

/* ---------- Games remaining visual primitives ---------- */
.game-lesson,.game-lesson-flow,.game-note-prompt,.game-lesson-check{padding:10px 12px!important;border-radius:8px!important;background:#f3f7f6!important}.game-staff-lines{stroke:#334e63!important}.game-clef{fill:#173b55!important;color:#173b55!important}.tap-flash{box-shadow:0 0 0 4px rgba(43,136,115,.12)!important}

/* ---------- Arcade remaining status/world primitives ---------- */
.arcade-lesson,.arcade-ready-art,.detective-case,.fret-maze-question,.stage-note{padding:10px 12px!important;border-radius:8px!important;background:#f4f7f8!important}.arcade-lock{opacity:.62!important}.arcade-pause-icon,.arcade-ready-pulse{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:50%!important;background:#e7f1f3!important;color:var(--navy)!important}.detective-avatar{width:52px!important;height:52px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#e6eef1!important}.fret-maze-labels{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.rhythm-quest-sky{min-height:90px!important;border-radius:9px!important;background:linear-gradient(180deg,#dcebf2,#f6fbfc)!important}.rhythm-runner{display:grid!important;gap:8px!important}.hit,.solved{color:#28735f!important}.miss{color:#a8474b!important}

/* ---------- Instruments remaining surfaces ---------- */
.instrument-path-intro,.instrument-placement-note,.instrument-fixed-feedback,.instrument-teacher-block,.instrument-stage-challenge-result,.lab-empty,.lab-status,.performance-mode-card,.stage-challenge-question,.stage-challenge-score{padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fafbf9!important}.instrument-lesson-step{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:9px!important;align-items:start!important}.lesson-step-number{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#e7f1f3!important;color:var(--navy)!important;font-weight:900!important}.instrument-metronome,.lab-ensemble-counter,.lab-pitch{font-variant-numeric:tabular-nums!important}.lab-checklist{display:grid!important;gap:6px!important}.performance-mode-card{display:grid!important;gap:5px!important}.self-check{background:#eef6f4!important}.classical-stage-challenge-passed{background:#eaf6f2!important;color:#28735f!important}.bass-fret-numbers{font-size:.72rem!important;color:var(--muted)!important}

/* ---------- Institutional micro-classes ---------- */
#institutionalAcademics :where(.frame,.meta,.seal,.term){min-width:0!important}.institution-credential .seal{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border-radius:50%!important;background:#e8f1f3!important;color:var(--navy)!important;font-weight:900!important}.institution-credential .meta{color:var(--muted)!important;font-size:.78rem!important}.institution-credential .term{font-weight:800!important}.institution-credential .frame{border:1px solid var(--line)!important;border-radius:9px!important;padding:10px!important}

@media(max-width:720px){
  .curriculum-v2-hero,.intervention-outcome-row{grid-template-columns:1fr!important}.adaptive-study-plan-head,.adaptive-study-plan-actions,.retention-result-actions{align-items:stretch!important;flex-direction:column!important}.teacher-bubble,.teacher-message{max-width:100%!important}
}
.teacher-assessment-focus{display:grid!important;gap:10px!important}.teacher-printing .guided-topbar,.teacher-printing .app-nav,.teacher-printing .teacher-roster,.teacher-printing .teacher-tabs{display:none!important}.teacher-printing .teacher-workspace{border:0!important;box-shadow:none!important}.teacher-printing .teacher-plan-print{max-width:100%!important}
.assistant,.teacher-mode{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:4px 8px!important;border-radius:999px!important;background:#edf3f4!important;color:#526779!important;font-size:.72rem!important;font-weight:800!important}.first-run-home{display:grid!important;gap:12px!important;padding:18px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important}.lesson-page-back{position:sticky!important;top:calc(var(--topbar) + 8px)!important;z-index:6!important}.pedagogy-two-col{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.retention-review-meta{display:flex!important;gap:7px!important;flex-wrap:wrap!important;color:var(--muted)!important;font-size:.76rem!important}@media(max-width:720px){.pedagogy-two-col{grid-template-columns:1fr!important}}

/* ---------- Account / management runtime completion ---------- */
.account-health-row,.account-health-manual-row,.member-summary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:10px 0!important;border-bottom:1px solid #efede8!important}.account-health-row:last-child,.account-health-manual-row:last-child,.member-summary-row:last-child{border-bottom:0!important}.account-health-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:#e8f1f3!important;color:var(--navy)!important}.account-health-resolution-actions,.boot-recovery-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.owner-summary-skill,.placement-required-open,.recovery-confirm,:not(body).qa-override-active,.copied{display:inline-flex!important;width:max-content!important;padding:4px 8px!important;border-radius:999px!important;font-size:.72rem!important;font-weight:800!important}:not(body).qa-override-active{background:#fff3d9!important;color:#7b5818!important}.copied,.recovery-confirm{background:#eaf6f2!important;color:#28735f!important}.placement-required-open{background:#eef4f6!important;color:#385b70!important}.seat-capacity{display:grid!important;gap:8px!important}.seat-meter{height:9px!important;border-radius:999px!important;background:#e5eae9!important;overflow:hidden!important}.seat-meter>*{display:block!important;height:100%!important;background:var(--teal)!important}.seat-dots{display:flex!important;gap:4px!important;flex-wrap:wrap!important}.seat-dots>*{width:8px!important;height:8px!important;border-radius:50%!important;background:#d9e0e1!important}.seat-dots>*.used{background:var(--teal)!important}
.simple-disclosure-body{display:grid!important;gap:9px!important;padding:12px 0!important}.simple-guide-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.simple-list-expanded{max-height:none!important;overflow:visible!important}
@media(max-width:720px){.account-health-row,.account-health-manual-row,.member-summary-row{grid-template-columns:1fr!important}}


/* ======================================================================
   R7.6 SCORE VIEWPORT CONTAINMENT + TEMPO FOLLOW — 2026-09-27
   The score/TAB strip must never define page width. It lives in its own pane.
   ====================================================================== */
body.classical-piece-open{overflow-x:hidden!important}
body.classical-piece-open :where(.guided-shell,#view-classical,#classicalApp,.classical-panel,.classical-practice-card,.classical-stable-practice,.classical-score-frame){
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important
}
#view-classical,#classicalApp,.classical-panel,.classical-practice-card,.classical-stable-practice{overflow-x:clip!important}
.classical-score-frame{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid #cfd8dc!important;
  border-radius:12px!important;
  background:#e8edef!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)!important;
  contain:layout paint!important;
}
.classical-score-viewport{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-x:scroll!important;
  overflow-y:hidden!important;
  direction:ltr!important;
  text-align:left!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:none!important;
  touch-action:pan-x!important;
  -webkit-overflow-scrolling:touch!important;
  cursor:grab!important;
  scrollbar-width:auto!important;
  scrollbar-color:#78909c #dde5e8!important;
  scroll-behavior:auto!important;
}
.classical-score-viewport.is-dragging{cursor:grabbing!important;user-select:none!important}
.classical-score-viewport::-webkit-scrollbar{height:14px!important}
.classical-score-viewport::-webkit-scrollbar-track{background:#dde5e8!important;border-radius:999px!important}
.classical-score-viewport::-webkit-scrollbar-thumb{background:#78909c!important;border:3px solid #dde5e8!important;border-radius:999px!important}
.classical-score-viewport::-webkit-scrollbar-thumb:hover{background:#536d7a!important}
.continuous-score-track{
  display:block!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  contain:layout style!important;
}
.continuous-score-track>.continuous-score-sheet{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
}
.score-follow-playhead{
  position:absolute!important;
  top:0!important;bottom:14px!important;
  left:36%!important;
  width:2px!important;
  background:linear-gradient(180deg,transparent 0,#c76522 10%,#c76522 90%,transparent 100%)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.65),0 0 10px rgba(199,101,34,.28)!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:6!important;
  transition:opacity .12s ease!important;
}
.classical-score-frame.is-following .score-follow-playhead{opacity:1!important}
.classical-score-frame.is-following::before{
  content:"מעקב אוטומטי";
  position:absolute!important;
  top:10px!important;left:calc(36% + 8px)!important;
  z-index:7!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:rgba(255,253,248,.9)!important;
  color:#a94f18!important;
  border:1px solid rgba(199,101,34,.25)!important;
  font-size:.68rem!important;
  font-weight:700!important;
  pointer-events:none!important;
}
.classical-score-frame + .classical-run-status{max-width:100%!important;overflow-wrap:anywhere!important}
@media(max-width:700px){
  .score-follow-playhead{left:30%!important}
  .classical-score-frame.is-following::before{left:calc(30% + 8px)!important}
  .classical-score-viewport{padding:10px!important}
}

/* ======================================================================
   R7.7 — Search, glossary and TAB readability pass
   ====================================================================== */

/* Global search: wider, structured result panel instead of compressed buttons. */
.global-search-shell.open{z-index:340!important}
.global-search-results{
  left:50%!important;
  right:auto!important;
  inset-inline:auto!important;
  width:min(620px,calc(100vw - 32px))!important;
  max-width:none!important;
  transform:translateX(-50%)!important;
  max-height:min(72vh,720px)!important;
  padding:10px!important;
  overflow:auto!important;
  border:1px solid #d7dfe2!important;
  border-radius:16px!important;
  background:#fffefb!important;
  box-shadow:0 24px 60px rgba(19,42,61,.2)!important;
  direction:rtl!important;
}
.global-search-panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:6px 8px 10px!important;
  border-bottom:1px solid #ece9e2!important;
}
.global-search-panel-head b{font-size:.9rem!important;color:var(--ink)!important}
.global-search-panel-head span{color:var(--muted)!important;font-size:.72rem!important}
.global-search-result-list{display:grid!important;gap:5px!important;padding-top:7px!important}
.global-search-result{
  width:100%!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
  padding:9px 11px!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  color:var(--ink)!important;
  box-shadow:none!important;
  text-align:right!important;
  transform:none!important;
  cursor:pointer!important;
}
.global-search-result:hover,.global-search-result.active{
  border-color:#c8d9df!important;
  background:#f1f7f8!important;
}
.global-search-result:focus-visible{outline:3px solid rgba(35,100,139,.18)!important;outline-offset:1px!important}
.global-search-result-icon{
  width:38px!important;height:38px!important;
  display:grid!important;place-items:center!important;
  border-radius:10px!important;
  background:#eaf2f4!important;
  color:#1f5876!important;
  font-size:1rem!important;
  font-weight:800!important;
}
.global-search-result-copy{display:grid!important;gap:3px!important;min-width:0!important}
.global-search-result-copy b{font-size:.88rem!important;line-height:1.35!important;color:var(--ink)!important;overflow-wrap:anywhere!important}
.global-search-result-copy small{display:block!important;color:#68798a!important;font-size:.72rem!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere!important}
.global-search-result-meta{display:grid!important;justify-items:end!important;gap:4px!important;min-width:70px!important}
.global-search-result-meta em{font-style:normal!important;padding:3px 7px!important;border-radius:999px!important;background:#f0f1ed!important;color:#68746f!important;font-size:.65rem!important;font-weight:700!important}
.global-search-result-meta small{color:#7d8791!important;font-size:.63rem!important;max-width:90px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.global-search-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-top:8px!important;padding:9px 8px 2px!important;border-top:1px solid #ece9e2!important;color:#7b858d!important;font-size:.67rem!important}
.global-search-footer kbd{padding:1px 5px!important;border:1px solid #d8dddf!important;border-bottom-width:2px!important;border-radius:5px!important;background:#fff!important;color:#51606c!important;font:inherit!important}
.global-search-empty{display:grid!important;justify-items:center!important;gap:5px!important;padding:28px 18px!important;text-align:center!important}
.global-search-empty-icon{width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#eef4f5!important;color:#315d75!important;font-size:1.4rem!important}
.global-search-empty small{color:var(--muted)!important}

/* Glossary: one coherent scrollable dialog; actions no longer overlap related links. */
.music-glossary-modal:not(.hidden){align-items:center!important;justify-content:center!important;padding:24px!important}
.music-glossary-card{
  width:min(900px,calc(100vw - 48px))!important;
  max-height:min(86vh,760px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
  border:1px solid rgba(209,213,209,.95)!important;
  border-radius:18px!important;
  background:#fffefb!important;
  box-shadow:0 28px 80px rgba(16,35,50,.28)!important;
}
.music-glossary-card>header{min-height:88px!important;align-items:center!important;padding:18px 22px!important;background:#fffefb!important}
.music-glossary-card>header>div{display:grid!important;gap:4px!important;min-width:0!important}
.music-glossary-card>header h2{margin:0!important;font-size:1.65rem!important;line-height:1.15!important}
.music-glossary-card>header .pill{justify-self:start!important}
.music-glossary-card>header [data-glossary-close]{min-width:72px!important}
.music-glossary-body{
  min-height:0!important;
  display:grid!important;
  gap:0!important;
  padding:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
.music-glossary-simple{
  display:grid!important;
  gap:6px!important;
  margin:0!important;
  padding:18px 22px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid #dce8e7!important;
  background:#edf6f5!important;
}
.music-glossary-simple>span{color:#315e70!important;font-size:.72rem!important;font-weight:800!important;text-transform:none!important}
.music-glossary-simple p{margin:0!important;color:var(--ink)!important;font-size:1.04rem!important;line-height:1.65!important}
.music-glossary-section{padding:19px 22px!important;border-bottom:1px solid #ece9e2!important;background:#fffefb!important}
.music-glossary-section h3{margin:0 0 7px!important;font-size:1.08rem!important;color:var(--ink)!important}
.music-glossary-section p{margin:0!important;color:#536679!important;line-height:1.75!important}
.glossary-related-links{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:8px!important;padding:3px 0 0!important}
.glossary-related-links>button{
  min-height:46px!important;
  justify-content:flex-start!important;
  padding:9px 12px!important;
  border:1px solid #d5dde0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#1f4058!important;
  box-shadow:none!important;
  text-align:right!important;
}
.glossary-related-links>button:hover{border-color:#9fbac6!important;background:#f3f8f9!important}
.music-glossary-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:3!important;
  display:flex!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0!important;
  padding:13px 22px!important;
  border-top:1px solid #dde3e4!important;
  background:rgba(255,254,251,.96)!important;
  backdrop-filter:blur(6px)!important;
}
.music-glossary-actions:empty{display:none!important}

/* Repertoire TAB: string names + translucent current-measure cue. */
.tab-string-name{
  fill:#39566a!important;
  color:#39566a!important;
  font-size:11px!important;
  font-weight:800!important;
  text-anchor:middle!important;
  dominant-baseline:middle!important;
  pointer-events:none!important;
}
.score-measure-focus{pointer-events:none!important}
.score-measure-region.current .score-measure-focus{
  fill:#bfe6db!important;
  fill-opacity:.28!important;
  stroke:#4d9f88!important;
  stroke-width:2.2!important;
}
.score-measure-region.current :where(.continuous-score-line,.continuous-tab-line){opacity:1!important}

@media(max-width:760px){
  .global-search-results{width:calc(100vw - 20px)!important;max-height:72vh!important}
  .global-search-result{grid-template-columns:38px minmax(0,1fr)!important;min-height:60px!important}
  .global-search-result-meta{grid-column:2!important;grid-row:2!important;display:flex!important;justify-items:start!important;justify-content:flex-start!important;min-width:0!important}
  .global-search-panel-head{align-items:flex-start!important;flex-direction:column!important;gap:2px!important}
  .global-search-footer{display:none!important}
  .music-glossary-modal:not(.hidden){padding:10px!important}
  .music-glossary-card{width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:13px!important}
  .music-glossary-card>header{min-height:72px!important;padding:14px 16px!important}
  .music-glossary-card>header h2{font-size:1.35rem!important}
  .music-glossary-simple,.music-glossary-section{padding:15px 16px!important}
  .music-glossary-actions{padding:11px 16px!important}
  .glossary-related-links{grid-template-columns:1fr!important}
}


/* ======================================================================
   R7.8 — QA access, management breathing room, anchored search, progress layout
   ====================================================================== */

/* Owner QA entry: auth.js controls visibility; CSS must not suppress it. */
.top-actions>#qaOverrideBtn:not(.hidden){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:0 12px!important;
  border:1px solid #d6b35e!important;
  border-radius:999px!important;
  background:#fff7df!important;
  color:#6d5015!important;
  font-size:.72rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.top-actions>#qaOverrideBtn:not(.hidden):hover{background:#ffefbf!important;border-color:#c99b32!important}
.top-actions>#qaOverrideBtn.active:not(.hidden){background:#f4d889!important;border-color:#b98619!important;color:#4f3a0f!important}

/* Global search panel is physically anchored to the search field, not centered in the header. */
.global-search-shell{overflow:visible!important}
.global-search-results{
  top:calc(100% + 8px)!important;
  right:0!important;
  left:auto!important;
  inset-inline:auto!important;
  transform:none!important;
  width:min(520px,calc(100vw - 24px))!important;
  max-width:none!important;
  transform-origin:top right!important;
}
@media(max-width:720px){
  .global-search-results{right:0!important;left:auto!important;width:min(100%,calc(100vw - 20px))!important;min-width:0!important}
}

/* Management: turn the owner screen into a calm admin workspace instead of a dense control dump. */
#view-management{max-width:1240px!important;margin-inline:auto!important}
#view-management>.view-heading{max-width:980px!important;margin-bottom:18px!important}
#managementUserHost{display:grid!important;gap:18px!important;min-width:0!important}
#managementUserHost>.user-management-card{
  display:grid!important;
  gap:20px!important;
  padding:24px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:var(--shadow)!important;
}
#view-management>.card{margin-top:18px!important;padding:22px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--shadow)!important}
#view-management .account-capacity-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
#view-management .account-capacity-grid>div{display:grid!important;gap:4px!important;padding:14px 16px!important;border:1px solid #e4e7e4!important;border-radius:10px!important;background:#f8faf9!important}
#view-management .account-capacity-grid b{font-size:1.35rem!important;color:var(--navy)!important}
#view-management .account-capacity-grid span{color:var(--muted)!important;font-size:.78rem!important}
#view-management .account-health-panel{display:grid!important;gap:14px!important;padding:18px!important;border:1px solid #e3e7e6!important;border-radius:12px!important;background:#fbfcfb!important}
#view-management .account-health-head{align-items:center!important;gap:18px!important}
#view-management .account-health-head>div:first-child{display:grid!important;gap:3px!important}
#view-management .account-health-actions{justify-content:flex-start!important}
#view-management .account-list-tools{
  display:grid!important;
  grid-template-columns:auto minmax(260px,1fr) auto minmax(160px,220px)!important;
  gap:8px 12px!important;
  align-items:center!important;
  padding:14px!important;
  border:1px solid #e5e7e5!important;
  border-radius:11px!important;
  background:#f8faf9!important;
}
#view-management .account-list-tools label{margin:0!important;font-size:.78rem!important;font-weight:700!important;color:var(--ink-soft)!important}
#view-management .account-list-tools :where(input,select){width:100%!important;min-width:0!important}
#view-management .user-management-list{display:grid!important;gap:9px!important;min-width:0!important}
#view-management .seat-capacity{padding:14px 16px!important;border:1px solid #e1e6e4!important;border-radius:11px!important;background:#f6f9f8!important}
#view-management .account-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:16px!important;
  align-items:center!important;
  min-width:0!important;
  padding:14px 16px!important;
  border:1px solid #e5e7e5!important;
  border-radius:11px!important;
  background:#fff!important;
}
#view-management .account-row>div:first-child{display:grid!important;gap:3px!important;min-width:0!important}
#view-management .account-row>div:first-child span{color:var(--muted)!important;font-size:.78rem!important;line-height:1.55!important;overflow-wrap:anywhere!important}
#view-management .account-row .row-actions{justify-content:flex-start!important;gap:6px!important}
#view-management .account-row .row-actions button{white-space:nowrap!important}
#view-management .invite-user-form{display:grid!important;gap:10px!important;padding:18px!important;border:1px solid #dfe5e3!important;border-radius:12px!important;background:#f6f9f8!important}
#view-management .invite-user-row{display:grid!important;grid-template-columns:minmax(220px,1fr) auto auto!important;gap:8px!important;align-items:center!important}
#view-management #memberProgressSummary{min-width:0!important;overflow-wrap:anywhere!important}
@media(max-width:980px){
  #view-management .account-capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-management .account-list-tools{grid-template-columns:1fr 1fr!important}
  #view-management .account-list-tools label{display:none!important}
  #view-management .account-row{grid-template-columns:1fr!important;align-items:start!important}
  #view-management .invite-user-row{grid-template-columns:1fr!important}
}
@media(max-width:560px){#view-management .account-capacity-grid{grid-template-columns:1fr 1fr!important}#view-management .account-list-tools{grid-template-columns:1fr!important}}

/* Progress picker belongs between the dossier and detail cards, never inside the 2-column dossier grid. */
.simple-mode .simple-progress-picker{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,320px)!important;
  gap:14px!important;
  align-items:center!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding:14px 16px!important;
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:var(--shadow)!important;
}
.simple-progress-picker>span{display:grid!important;gap:2px!important;min-width:0!important}
.simple-progress-picker>span small{color:var(--muted)!important}
.simple-progress-picker select{width:100%!important;min-width:0!important}
@media(max-width:700px){.simple-mode .simple-progress-picker{grid-template-columns:1fr!important}}


/* ======================================================================
   R7.9 QA LAYOUT + SEARCH CLEAR STABILIZATION — 2026-09-27
   A runtime body class must never inherit pill styling intended for status tags.
   ====================================================================== */
body.qa-override-active{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  color:var(--ink)!important;
  background:var(--canvas)!important;
  overflow-x:hidden!important;
}
body.qa-override-active #appShell,
body.qa-override-active .guided-topbar,
body.qa-override-active .app-nav,
body.qa-override-active .qa-override-banner,
body.qa-override-active .guided-shell,
body.qa-override-active .app-view,
body.qa-override-active #classicalApp{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.qa-override-active .guided-shell{
  width:min(var(--wide),calc(100% - 48px))!important;
  margin-inline:auto!important;
}
body.qa-override-active #view-classical,
body.qa-override-active #classicalApp{
  overflow:visible!important;
}

/* Keep only the app's custom clear button. Chromium/WebKit otherwise adds a second X. */
#globalSiteSearch::-webkit-search-cancel-button{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:none!important;
}
#globalSiteSearch::-ms-clear,
#globalSiteSearch::-ms-reveal{
  display:none!important;
  width:0!important;
  height:0!important;
}
.global-search-clear{
  flex:0 0 auto!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
}
.global-search-clear.hidden{display:none!important}


/* ==========================================================================
   R7.10 — repertoire playback cue simplification
   Keep the score moving continuously. Highlight only the active musical event;
   do not paint a whole measure and do not draw a vertical playhead line.
   ========================================================================== */
.score-follow-playhead{display:none!important;opacity:0!important;width:0!important;box-shadow:none!important;background:none!important}
.classical-score-frame.is-following .score-follow-playhead{display:none!important;opacity:0!important}
.classical-score-frame.is-following::before{left:12px!important;color:#256b67!important;background:rgba(248,252,250,.94)!important;border:1px solid rgba(67,139,132,.24)!important}
.score-measure-region.current .score-measure-focus,
.score-measure-region .score-measure-focus{
  fill:transparent!important;
  fill-opacity:0!important;
  stroke:transparent!important;
  stroke-width:0!important;
}
.score-event.current-event .notehead{
  fill:#ff8a00!important;
  stroke:#c96000!important;
  filter:drop-shadow(0 0 5px rgba(255,138,0,.42))!important;
}
.score-event.current-event .tab-number-bg{
  fill:#ffe3bf!important;
  fill-opacity:.96!important;
  stroke:#ff8a00!important;
  stroke-width:1.6!important;
}
.score-event.current-event :where(.tab-number,.left-finger,.right-finger){
  fill:#8f3d00!important;
}

/* ========================================================================== 
   R7.12 — Wide play mode becomes a true TAB-only performance surface.
   The mode is intentionally minimal: TAB + exit + Play/Stop only.
   ========================================================================== */
body.classical-performance-focus{
  overflow:hidden!important;
  background:#f4f1ea!important;
}
body.classical-performance-focus .guided-topbar,
body.classical-performance-focus #classicalApp>.classical-heading,
body.classical-performance-focus #classicalApp>.classical-subnav{
  display:none!important;
}
body.classical-performance-focus #view-classical{
  position:fixed!important;
  inset:0!important;
  z-index:4800!important;
  display:block!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#f8f6f0 0%,#efede6 100%)!important;
}
body.classical-performance-focus #classicalApp,
body.classical-performance-focus .classical-panel{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.classical-performance-focus .classical-panel>:not(.classical-practice-card){
  display:none!important;
}
body.classical-performance-focus .classical-practice-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:0!important;
  margin:0!important;
  padding:18px 22px 24px!important;
  gap:10px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.classical-performance-focus .classical-practice-toolbar,
body.classical-performance-focus .score-size-control,
body.classical-performance-focus .playback-controls,
body.classical-performance-focus .score-follow-banner,
body.classical-performance-focus .classical-run-status{
  display:none!important;
}
body.classical-performance-focus .score-page-toolbar{
  position:relative!important;
  z-index:4!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.classical-performance-focus .score-page-toolbar>:not(#cgPerformanceFocus){
  display:none!important;
}
body.classical-performance-focus #cgPerformanceFocus{
  min-height:38px!important;
  padding:7px 13px!important;
  border:1px solid #d7d1c6!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:#26394c!important;
  box-shadow:0 5px 18px rgba(35,48,59,.08)!important;
}
body.classical-performance-focus .classical-stable-practice{
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
}
body.classical-performance-focus .classical-score-frame{
  flex:1 1 auto!important;
  width:100%!important;
  height:min(58vh,440px)!important;
  max-height:440px!important;
  min-height:250px!important;
  margin:auto 0!important;
  border:1px solid #d8d2c7!important;
  border-radius:18px!important;
  background:#fffdf8!important;
  box-shadow:0 18px 46px rgba(48,57,62,.12),inset 0 0 0 1px rgba(255,255,255,.9)!important;
  contain:layout paint!important;
}
body.classical-performance-focus .classical-score-viewport.tab-focus-viewport{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:20px 18px 18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#fffdf8!important;
  scrollbar-gutter:stable!important;
}
body.classical-performance-focus .tab-focus-track{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  min-width:max-content!important;
  height:100%!important;
}
body.classical-performance-focus .tab-focus-sheet{
  display:block!important;
  max-height:100%!important;
  min-height:210px!important;
  margin:auto 0!important;
}
body.classical-performance-focus .tab-focus-sheet .continuous-score-line,
body.classical-performance-focus .tab-focus-sheet .notehead,
body.classical-performance-focus .tab-focus-sheet .stem,
body.classical-performance-focus .tab-focus-sheet .clef,
body.classical-performance-focus .tab-focus-sheet .key-signature-mark,
body.classical-performance-focus .tab-focus-sheet .time-signature,
body.classical-performance-focus .tab-focus-sheet .accidental{
  display:none!important;
}
body.classical-performance-focus .tab-focus-sheet .continuous-tab-line{
  stroke:#334957!important;
  stroke-width:1.35!important;
  opacity:.82!important;
}
body.classical-performance-focus .tab-focus-sheet .tab-string-name{
  fill:#243a49!important;
  font-size:10px!important;
  font-weight:900!important;
}
body.classical-performance-focus .tab-focus-sheet .tab-number{
  font-size:10.5px!important;
  font-weight:900!important;
}
body.classical-performance-focus .tab-focus-sheet .tab-number-bg{
  rx:4px!important;
}
body.classical-performance-focus .classical-run-actions{
  position:relative!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body.classical-performance-focus .classical-run-actions>:not(#cgPracticeStart):not(#cgPracticeStop){
  display:none!important;
}
body.classical-performance-focus #cgPracticeStart,
body.classical-performance-focus #cgPracticeStop{
  min-width:128px!important;
  min-height:40px!important;
  border-radius:999px!important;
  box-shadow:0 5px 18px rgba(35,48,59,.08)!important;
}
@media(max-width:700px){
  body.classical-performance-focus .classical-practice-card{padding:10px 10px 14px!important}
  body.classical-performance-focus .classical-score-frame{height:min(62vh,360px)!important;min-height:220px!important;border-radius:12px!important}
  body.classical-performance-focus .classical-score-viewport.tab-focus-viewport{padding:12px 8px 14px!important}
  body.classical-performance-focus .tab-focus-sheet{min-height:190px!important}
  body.classical-performance-focus #cgPracticeStart,body.classical-performance-focus #cgPracticeStop{min-width:112px!important}
}

/* ========================================================================== 
   R7.13 — TAB Focus transport controls
   Wide TAB mode keeps a minimal, performance-first transport surface.
   ========================================================================== */
.tab-focus-controls{display:none}
body.classical-performance-focus .score-page-toolbar{order:1!important}
body.classical-performance-focus .classical-stable-practice{order:2!important}
body.classical-performance-focus .tab-focus-controls{
  order:3!important;
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  width:min(1120px,100%)!important;
  min-height:58px!important;
  margin:2px auto 0!important;
  padding:9px 12px!important;
  border:1px solid #d8d2c7!important;
  border-radius:16px!important;
  background:rgba(255,253,248,.96)!important;
  box-shadow:0 10px 28px rgba(35,48,59,.10)!important;
  direction:rtl!important;
}
body.classical-performance-focus .classical-run-actions{display:none!important}
body.classical-performance-focus .tab-focus-transport,
body.classical-performance-focus .tab-focus-loop{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
}
body.classical-performance-focus .tab-focus-transport button{
  min-height:40px!important;
  padding:7px 13px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
body.classical-performance-focus #cgTabFocusPlay{
  min-width:108px!important;
  background:#174f6a!important;
  border-color:#174f6a!important;
  color:#fff!important;
}
body.classical-performance-focus #cgTabFocusStop{
  min-width:96px!important;
}
body.classical-performance-focus .tab-focus-loop{
  padding-inline:3px!important;
}
body.classical-performance-focus .tab-focus-marker{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:70px!important;
  min-height:40px!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#fff8ed!important;
  border-color:#e7b77c!important;
  color:#7c4211!important;
}
body.classical-performance-focus .tab-focus-marker span{
  display:grid!important;
  place-items:center!important;
  width:23px!important;
  height:23px!important;
  border-radius:50%!important;
  background:#ff8a00!important;
  color:#fff!important;
  font-weight:900!important;
  line-height:1!important;
}
body.classical-performance-focus .tab-focus-marker b{
  min-width:18px!important;
  font-variant-numeric:tabular-nums!important;
}
body.classical-performance-focus .tab-focus-loop-arrow{
  color:#8a8f91!important;
  font-weight:900!important;
}
body.classical-performance-focus .tab-focus-bpm{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:40px!important;
  padding:5px 9px!important;
  border:1px solid #d8d2c7!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#314655!important;
  font-weight:800!important;
}
body.classical-performance-focus .tab-focus-bpm input{
  width:68px!important;
  min-height:30px!important;
  padding:3px 6px!important;
  border:0!important;
  border-inline-start:1px solid #e4dfd6!important;
  border-radius:0!important;
  background:transparent!important;
  color:#162f42!important;
  text-align:center!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
  box-shadow:none!important;
}
body.classical-performance-focus .tab-focus-bpm input:focus{
  outline:2px solid rgba(255,138,0,.28)!important;
  outline-offset:2px!important;
}
@media(max-width:900px){
  body.classical-performance-focus .tab-focus-controls{gap:7px!important;padding:8px!important;border-radius:12px!important}
  body.classical-performance-focus .tab-focus-transport{width:100%!important}
  body.classical-performance-focus .tab-focus-transport button{flex:1 1 auto!important}
}
@media(max-width:600px){
  body.classical-performance-focus .tab-focus-controls{min-height:0!important;margin-top:0!important}
  body.classical-performance-focus .tab-focus-transport button{min-width:0!important;padding-inline:9px!important;font-size:.78rem!important}
  body.classical-performance-focus .tab-focus-marker{min-width:62px!important}
  body.classical-performance-focus .tab-focus-bpm input{width:58px!important}
}


/* ==========================================================================
   R7.14 — Open Learning + Accessibility Overlay + Dark Mode + Homework
   ========================================================================== */

/* Optional placement is a stable utility, never a gate or a disappearing card. */
.placement-required-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:4px 0 14px!important;
  padding:15px 18px!important;
  border-inline-start:4px solid #2a7896!important;
  background:linear-gradient(135deg,#fbfdfd,#f4f8f8)!important;
}
.placement-required-card.completed{
  border-inline-start-color:var(--teal)!important;
  background:linear-gradient(135deg,#fbfdfc,#f0f8f5)!important;
}
.placement-required-card h3{margin:3px 0 4px!important;font-size:1.08rem!important}
.placement-required-card p{margin:0!important;max-width:980px!important}
.placement-required-card>button{min-width:170px!important}

/* Every lesson is open. Recommended is guidance, not a lock. */
.curriculum-v2-library-head{
  border-inline-start:4px solid var(--teal)!important;
}
.curriculum-v2-lesson-row.not_started:not(.recommended)::after{
  content:"פתוח לבחירה";
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 8px;
  border-radius:999px;
  background:#eff5f4;
  color:#52736b;
  font-size:.7rem;
  font-weight:800;
}
.curriculum-v2-lesson-row.recommended{
  outline:2px solid rgba(200,110,34,.24)!important;
  outline-offset:-2px!important;
}
.curriculum-v2-practice-locked{opacity:1!important;filter:none!important;pointer-events:auto!important}
.practice-tabs .tab.locked{opacity:1!important;filter:none!important;pointer-events:auto!important}

/* Homework: persistent per-lesson follow-up with theory and technique where relevant. */
.lesson-homework{
  display:grid!important;
  gap:14px!important;
  margin:24px 0 8px!important;
  padding:20px!important;
  border:1px solid #ded8ca!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#fffdf7,#f8f5ed)!important;
  box-shadow:0 4px 16px rgba(43,48,52,.055)!important;
}
.lesson-homework-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.lesson-homework-head h3{margin:4px 0!important}
.lesson-homework-head p{margin:0!important}
.lesson-homework-progress{
  flex:0 0 auto!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#e8f3ef!important;
  color:#236c5c!important;
  font-size:.78rem!important;
  font-weight:900!important;
}
.lesson-homework-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;
  gap:10px!important;
}
.lesson-homework-task{
  position:relative!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  min-width:0!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fff!important;
  cursor:pointer!important;
  transition:border-color .16s ease,background .16s ease,transform .16s ease!important;
}
.lesson-homework-task:hover{border-color:#b8c7c2!important;transform:translateY(-1px)}
.lesson-homework-task>input{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.lesson-homework-check{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border:2px solid #b8c3c0!important;
  border-radius:8px!important;
  background:#fff!important;
  color:transparent!important;
  font-weight:1000!important;
}
.lesson-homework-task.done{
  border-color:#8bbbad!important;
  background:#f1f8f5!important;
}
.lesson-homework-task.done .lesson-homework-check{
  border-color:var(--teal)!important;
  background:var(--teal)!important;
  color:#fff!important;
}
.lesson-homework-copy{display:grid!important;gap:5px!important;min-width:0!important}
.lesson-homework-copy>span{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
}
.lesson-homework-copy>span b{color:var(--blue)!important;font-size:.75rem!important}
.lesson-homework-copy>span em{
  font-style:normal!important;
  color:var(--muted)!important;
  font-size:.72rem!important;
}
.lesson-homework-copy strong{font-size:.98rem!important}
.lesson-homework-copy p{margin:0!important;font-size:.86rem!important;line-height:1.55!important}

/* Accessibility must be a real modal overlay, never content appended below the footer. */
.accessibility-modal{
  position:fixed!important;
  inset:0!important;
  z-index:12000!important;
  padding:clamp(14px,3vw,36px)!important;
  background:rgba(9,19,28,.58)!important;
  backdrop-filter:blur(7px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
.accessibility-modal:not(.hidden){
  display:grid!important;
  place-items:center!important;
}
.accessibility-card{
  width:min(860px,calc(100vw - 28px))!important;
  max-height:min(820px,calc(100vh - 28px))!important;
  overflow:auto!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:var(--paper)!important;
  box-shadow:0 28px 80px rgba(4,16,25,.28)!important;
  color:var(--ink)!important;
}
.accessibility-card>header{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:20px!important;
  padding:20px 22px 16px!important;
  border-bottom:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--paper) 94%,transparent)!important;
  backdrop-filter:blur(12px)!important;
}
.accessibility-card>header h2{margin:4px 0!important;font-size:1.45rem!important}
.accessibility-card>header p{margin:0!important}
.accessibility-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:18px 22px 12px!important;
}
.accessibility-setting{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-width:0!important;
  padding:14px!important;
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  background:var(--paper-soft)!important;
}
.accessibility-setting>div:first-child{display:grid!important;gap:3px!important;min-width:0!important}
.accessibility-setting>div:first-child span{color:var(--muted)!important;font-size:.82rem!important}
.a11y-segment{
  display:flex!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:var(--paper)!important;
}
.a11y-segment button{
  min-height:36px!important;
  padding:6px 10px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:var(--ink-soft)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.a11y-segment button[aria-pressed="true"]{
  background:var(--navy)!important;
  color:#fff!important;
}
.accessibility-setting>button[aria-pressed="true"]{
  border-color:var(--teal)!important;
  background:#e8f5f1!important;
  color:#1e6656!important;
}
.a11y-keyboard-note{
  margin:4px 22px 22px!important;
  padding:12px 14px!important;
  border-radius:9px!important;
  background:#eef4f6!important;
  color:var(--ink-soft)!important;
}
body.modal-open{overflow:hidden!important}

/* Text-size and large-target accessibility settings. */
html[data-text-size="large"] body{font-size:17px!important}
html[data-text-size="xlarge"] body{font-size:19px!important}
html.a11y-large-controls :where(button,input,select,textarea){min-height:48px!important}
html.a11y-large-controls :where(.nav-item,.tab){min-height:50px!important}
html.a11y-high-contrast{
  --ink:#07131f;
  --ink-soft:#172d3f;
  --muted:#334c60;
  --line:#7b8993;
  --line-strong:#5c6d79;
}
html.a11y-high-contrast :where(button,input,select,textarea,.card,[class*="card"]){
  border-width:2px!important;
}
html.a11y-high-contrast :where(a,button,[tabindex]):focus-visible{
  outline:4px solid #ff9a00!important;
  outline-offset:3px!important;
}
html.a11y-reduced-motion *,
html.a11y-reduced-motion *::before,
html.a11y-reduced-motion *::after{
  scroll-behavior:auto!important;
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
}

/* Dedicated dark mode. Notation/score surfaces remain light for score legibility. */
html.kore-dark{
  --ink:#eef4f7;
  --ink-soft:#c4d0d7;
  --muted:#93a4b0;
  --canvas:#0d151d;
  --paper:#14212c;
  --paper-soft:#101b24;
  --line:#2c3d49;
  --line-strong:#405361;
  --navy:#2e7fa8;
  --navy-deep:#25698b;
  --blue:#65b7e8;
  --teal:#58b79e;
  --orange:#f2943b;
  --red:#ef7d80;
  --purple:#ab8ae5;
  --gold:#e0aa58;
  --shadow:0 7px 24px rgba(0,0,0,.24);
  --shadow-hover:0 10px 30px rgba(0,0,0,.34);
}
html.kore-dark,
html.kore-dark body{background:#0d151d!important;color:var(--ink)!important}
html.kore-dark body{
  background:
    radial-gradient(circle at 52% 0,rgba(52,86,108,.20),transparent 34rem),
    linear-gradient(180deg,#101a23 0,#0c141b 100%)!important;
}
html.kore-dark body::selection{background:#315f77!important;color:#fff!important}
html.kore-dark :where(h1,h2,h3,h4,h5,h6,strong,b,label){color:var(--ink)!important}
html.kore-dark :where(p,small,span.muted,.muted){color:var(--ink-soft)!important}
html.kore-dark a{color:#78c8f5!important}
html.kore-dark .guided-topbar{
  background:rgba(16,27,36,.96)!important;
  border-bottom-color:#2b3a45!important;
  box-shadow:0 3px 18px rgba(0,0,0,.24)!important;
}
html.kore-dark :where(
  .card,.view-heading,.curriculum-card,.lesson-workspace,.r4-practice-console,.r4-stage-console,
  .stage-lab,.academy-overview,.academy-workspace,.exam-workspace,.exam-history-card,.tools-orientation,
  .tools-nav-card,.rc6-panel,.r4-progress-dossier,.tt-menu-stack,.tt-main-panel,.tt-side-stack,
  .curriculum-v2-chapter,.curriculum-v2-library-head,.curriculum-v2-workspace,.v3-reading-section,
  .v3-worked-example,.v3-retrieval,.v3-recap,.lesson-mastery-evidence,.teacher-tab-body,
  .accessibility-card
){
  background:#14212c!important;
  border-color:#2c3d49!important;
  color:var(--ink)!important;
}
html.kore-dark :where(
  button.secondary,.secondary,button.ghost,.ghost,input,select,textarea,.text-input,.select-input,
  .lesson-homework-task,.accessibility-setting,.a11y-segment
){
  background:#101b24!important;
  border-color:#364956!important;
  color:var(--ink)!important;
}
html.kore-dark :where(button.secondary,.secondary,button.ghost,.ghost):hover{
  background:#1a2b37!important;
  border-color:#537080!important;
}
html.kore-dark :where(.pill,.micro-label,.eyebrow){
  color:#7cc9f3!important;
}
html.kore-dark .pill{background:#173244!important}
html.kore-dark :where(.curriculum-v2-lesson-row,.tt-plan-row,.tt-skill-row,.owner-member-row,.member-summary-row){
  border-color:#2b3d49!important;
}
html.kore-dark .curriculum-v2-lesson-row:hover{background:#182a36!important}
html.kore-dark :where(.v3-opening,.v3-why,.v3-application,.teacher-coach-note,.concept-box,.performance-note){
  background:#172833!important;
  border-color:#334955!important;
  color:var(--ink-soft)!important;
}
html.kore-dark .lesson-homework{
  background:linear-gradient(145deg,#17242e,#101a23)!important;
  border-color:#344651!important;
}
html.kore-dark .lesson-homework-task.done{
  background:#173129!important;
  border-color:#438d79!important;
}
html.kore-dark .lesson-homework-check{background:#0e1820!important;border-color:#5d707b!important}
html.kore-dark .lesson-homework-progress{background:#17372e!important;color:#8fd3c0!important}
html.kore-dark .a11y-keyboard-note{background:#172a36!important;color:var(--ink-soft)!important}
html.kore-dark .accessibility-setting>button[aria-pressed="true"]{
  background:#17362e!important;
  border-color:#4ba78e!important;
  color:#a2e1d0!important;
}
html.kore-dark .placement-required-card,
html.kore-dark .placement-required-card.completed{
  background:linear-gradient(135deg,#14232d,#101c25)!important;
  border-color:#35505d!important;
}
/* Preserve conventional white music paper for notation/TAB in dark mode. */
html.kore-dark :where(
  .classical-score-frame,.classical-score-viewport,.continuous-score-svg,.tt-score-stage,.tt-score-viewport,
  .tt-score-svg,.v3-staff-wrap,.v3-tab,.game-score-svg
){
  background:#fffdf8!important;
  color:#1c3043!important;
}
html.kore-dark :where(.classical-score-frame,.tt-score-stage,.v3-staff-wrap){
  border-color:#59636a!important;
}
html.kore-dark footer{border-color:#2b3d49!important}
html.kore-dark .auth-shell{background:linear-gradient(180deg,#0f1922,#0b1219)!important;color:var(--ink)!important}
html.kore-dark .auth-card{background:#14212c!important;border-color:#31434f!important;color:var(--ink)!important;box-shadow:0 24px 70px rgba(0,0,0,.38)!important}
html.kore-dark :where(.auth-explain,.auth-panel-title,.auth-config,.recovery-code-notice){background:#172833!important;border-color:#334955!important;color:var(--ink-soft)!important}
html.kore-dark .auth-tabs{border-color:#2c3d49!important}
html.kore-dark .auth-tabs button{color:var(--ink-soft)!important;background:transparent!important}
html.kore-dark .auth-tabs button.active{color:#83caf0!important;border-bottom-color:#65b7e8!important}


/* Keep theme/accessibility controls compact in the crowded top bar. */
#accessibilityBtn,#themeModeBtn{
  min-height:36px!important;
  padding:6px 10px!important;
  white-space:nowrap!important;
  font-size:.78rem!important;
}
.theme-mode-button{font-variant-numeric:tabular-nums!important}

@media (max-width:760px){
  .placement-required-card{grid-template-columns:1fr!important}
  .placement-required-card>button{width:100%!important}
  .accessibility-modal{padding:8px!important}
  .accessibility-card{width:100%!important;max-height:calc(100vh - 16px)!important;border-radius:12px!important}
  .accessibility-card>header{padding:16px!important}
  .accessibility-grid{grid-template-columns:1fr!important;padding:12px 16px!important}
  .accessibility-setting{grid-template-columns:1fr!important}
  .a11y-segment{width:100%!important}
  .a11y-segment button{flex:1 1 auto!important}
  .a11y-keyboard-note{margin:0 16px 16px!important}
  .lesson-homework-head{display:grid!important}
  .lesson-homework-progress{justify-self:start!important}
}

/* ========================================================================== 
   R7.15 — Header density, robust Dark Mode, desktop quick navigation,
   fixed TAB transport, and open-content visual language.
   ========================================================================== */

/* Remove the old decorative notification placeholder. It had no action and
   looked like an unexplained symbol next to the real accessibility controls. */
.reference-notification{display:none!important}

/* Desktop header: actions may size to their content and must never be clipped
   into the search box. The navigation can use the formerly empty width. */
@media (min-width:1421px){
  .guided-topbar{
    grid-template-columns:minmax(178px,205px) minmax(600px,1fr) minmax(250px,305px) max-content!important;
    grid-template-areas:"brand nav search actions"!important;
    column-gap:10px!important;
    overflow:visible!important;
  }
  .app-nav{justify-content:flex-start!important;overflow:visible!important}
  .nav-item{min-width:72px!important;padding-inline:10px!important;gap:6px!important;font-size:.79rem!important}
  .desktop-quick-nav{display:flex!important}
  .mobile-more-nav{display:flex!important}
  .top-actions{min-width:max-content!important;overflow:visible!important;gap:7px!important}
  #accessibilityBtn,#themeModeBtn,.top-actions>#qaOverrideBtn:not(.hidden){flex:0 0 auto!important}
  #themeModeBtn{min-width:72px!important}
}
@media (max-width:1420px) and (min-width:981px){
  .desktop-quick-nav{display:flex!important}
  .mobile-more-nav{display:flex!important}
  .app-nav .nav-item{flex:0 0 auto!important;min-width:88px!important}
}
@media (max-width:980px){
  .desktop-quick-nav{display:none!important}
  .mobile-more-nav{display:flex!important}
}

/* Theme/accessibility buttons are text-first controls; no clipped moon glyph. */
#accessibilityBtn,#themeModeBtn{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  border-radius:9px!important;
  line-height:1!important;
}

/* --------------------------------------------------------------------------
   Dark mode: cover both structural cards and their nested light surfaces.
   Do not use one generic .card fill for special visual cards such as the hero.
   -------------------------------------------------------------------------- */
html.kore-dark .guided-topbar{
  background:rgba(13,24,33,.98)!important;
  border-bottom-color:#2d414e!important;
}
html.kore-dark .brand-lockup h1{color:#f0f6f9!important}
html.kore-dark .brand-lockup p{color:#93a8b5!important}
html.kore-dark .brand-mark{color:#67bde7!important}
html.kore-dark .nav-item{color:#b9cbd6!important}
html.kore-dark .nav-item .nav-icon{color:#75aecb!important}
html.kore-dark .nav-item:hover{background:#162833!important;color:#eef7fb!important}
html.kore-dark .nav-item.active{color:#77c9ef!important;border-bottom-color:#55b7e5!important;background:linear-gradient(180deg,transparent 35%,rgba(67,165,211,.12))!important}
html.kore-dark .global-search-box{background:#101c25!important;border-color:#344855!important}
html.kore-dark .global-search-box:focus-within{border-color:#5e9abb!important;box-shadow:0 0 0 4px rgba(72,164,211,.14)!important}
html.kore-dark .global-search-box input{color:#eef5f8!important}
html.kore-dark .global-search-box input::placeholder{color:#8095a3!important}
html.kore-dark .global-search-icon{color:#8fb8ce!important}
html.kore-dark .global-search-results{background:#14232d!important;border-color:#37505e!important;box-shadow:0 22px 55px rgba(0,0,0,.48)!important;color:#edf5f8!important}
html.kore-dark .global-search-results :where(button,.global-search-result){background:#14232d!important;color:#edf5f8!important;border-color:#2c414e!important}
html.kore-dark .global-search-results :where(button,.global-search-result):hover{background:#1b303c!important}
html.kore-dark #accessibilityBtn,
html.kore-dark #themeModeBtn{background:#14232d!important;border-color:#405563!important;color:#e7f1f5!important}
html.kore-dark .top-actions>#qaOverrideBtn:not(.hidden){background:#5c4818!important;border-color:#ad8730!important;color:#ffe7a8!important}
html.kore-dark .profile-avatar{border-color:#405563!important;background:linear-gradient(145deg,#34576e,#183447)!important}
html.kore-dark .user-chip :where(b,span,small){color:#c2d2db!important}

/* Hero keeps its actual image in dark mode. The previous generic .card rule
   replaced the background image with a solid dark card. */
html.kore-dark .home-intro{
  background:linear-gradient(90deg,rgba(5,12,17,.08),rgba(5,12,17,.70)),url("assets/ui/reference-piano-hero-r7.png") center 53%/cover no-repeat!important;
  color:#fff!important;
  border-color:transparent!important;
}
html.kore-dark .home-intro::before{background:linear-gradient(90deg,transparent 0,rgba(4,12,18,.18) 46%,rgba(4,12,18,.72) 100%)!important}
html.kore-dark .home-intro :where(blockquote,cite){color:#fff7ec!important}

/* Home dashboard nested surfaces. */
html.kore-dark .dashboard-heading h2,
html.kore-dark .next-lesson-focus h3,
html.kore-dark .dashboard-kicker{color:#eef5f8!important}
html.kore-dark .dashboard-heading p,
html.kore-dark .next-lesson-focus p,
html.kore-dark .lesson-meta,
html.kore-dark .lesson-tags{color:#9fb0bb!important}
html.kore-dark .today-focus-card,
html.kore-dark .review-card,
html.kore-dark .today-plan-card,
html.kore-dark .progress-card,
html.kore-dark .weekly-goal-card,
html.kore-dark .home-recommendations{background:#14232d!important;border-color:#314653!important;color:#edf5f8!important}
html.kore-dark .review-list,
html.kore-dark .today-plan-card .plan-list{background:#101b24!important;border-color:#344754!important}
html.kore-dark .review-list>button,
html.kore-dark .today-plan-card .plan-item{background:#101b24!important;border-color:#2d404c!important;color:#e9f2f6!important}
html.kore-dark .review-list>button:hover,
html.kore-dark .today-plan-card .plan-item:hover{background:#172a35!important}
html.kore-dark .review-list strong,
html.kore-dark .today-plan-card .plan-item>span:first-child{color:#edf5f8!important}
html.kore-dark .review-list strong small,
html.kore-dark .today-plan-card .plan-item>span:first-child::after,
html.kore-dark .today-plan-card .plan-item>span:last-child{color:#9eb0bc!important}
html.kore-dark .review-list em{background:#173a31!important;color:#91d7c3!important}
html.kore-dark .progress-ring{
  background:radial-gradient(closest-side,#14232d 76%,transparent 77% 99%),conic-gradient(var(--ring) calc(var(--value)*1%),#33434d 0)!important;
}
html.kore-dark .progress-ring>small{color:#c6d4dc!important}
html.kore-dark .weekly-goal-card p,
html.kore-dark .weekly-goal-card>small,
html.kore-dark .weekly-meta{color:#a9bbc5!important}
html.kore-dark .weekly-track{background:#34444d!important}
html.kore-dark .home-recommendations .shortcut-card{background:#111e27!important;border-color:#334754!important;color:#edf5f8!important}
html.kore-dark .home-recommendations .shortcut-card:hover{background:#192c37!important;border-color:#4a6878!important}
html.kore-dark .home-recommendations .shortcut-card>span{color:#edf5f8!important}
html.kore-dark .home-recommendations .shortcut-card>small,
html.kore-dark .home-recommendations .shortcut-card>b{color:#a6b7c1!important}

/* General dark surfaces missed by R7.14 due to hard-coded white/light fills. */
html.kore-dark :where(
  .view-heading,.r4-editorial-section,.academy-level,.academy-module,.academy-workspace,
  .exam-topic-grid,.exam-workspace,.academic-assessment-center,.academic-checkpoint-card,.academic-domain-card,
  .classical-library-status,.open-repertoire-search,.open-repertoire-card,.classical-piece-card,
  .classical-piece-head,.guided-listening-quickbar,.piece-secondary-panel,.classical-practice-card,
  .tt-overview,.tt-progress-dashboard,.tt-skill-tree,.tt-goal-card,.tt-custom-routines,.tt-daily-workout,
  .teacher-workspace,.teacher-card-block,.teacher-plan-focus,.teacher-finish,.owner-management-shell,
  .game-card,.game-lesson,.arcade-card,.arcade-lesson,.instrument-card,.instrument-stage,.instrument-piece-card,
  .tools-orientation,.tools-nav-card,.history-card,.performance-card,.r4-dossier-section
){
  background:#14232d!important;
  border-color:#334754!important;
  color:#edf5f8!important;
}
html.kore-dark :where(
  .open-repertoire-filters,.open-repertoire-advanced,.piece-curriculum-requirements,
  .piece-technical-prep,.piece-learning-map,.classical-piece-controls,.piece-listening-center,
  .academy-concept,.academy-example,.academy-exercise,.academy-check,.exam-question,
  .tt-plan-preview,.tt-routine-editor,.tt-skill-tree,.tt-teacher-assignments,.tt-rep-overview,.tt-rep-rule,
  .teacher-roster,.teacher-tabs,.teacher-plan,.owner-member-row,.member-summary-row,
  .game-reading-card,.composition-brief,.rhythm-config,.sight-preview-list
){
  background:#101b24!important;
  border-color:#304450!important;
  color:#e7f0f4!important;
}
html.kore-dark :where(.view-heading p,.classical-library-status p,.open-repertoire-note,.piece-focus,.piece-byline,.open-repertoire-card .piece-byline,.piece-source-mini,.piece-tags,.classical-run-status,.tt-overview p,.teacher-workspace p,.instrument-card p,.game-card p,.arcade-card p){color:#a5b6c0!important}
html.kore-dark .view-heading{background:linear-gradient(135deg,#14232d,#101b24)!important}
html.kore-dark .open-repertoire-filters{background:#101b24!important}
html.kore-dark .open-repertoire-card:hover{background:#192d38!important;border-color:#527080!important}
html.kore-dark .open-repertoire-note{background:#173028!important;border-inline-start-color:#58b79e!important;color:#bdd5cc!important}
html.kore-dark .library-status-count{background:#173142!important}
html.kore-dark .library-status-count :where(b,span){color:#8fd0f0!important}
html.kore-dark .sample-badge,
html.kore-dark .open-repertoire-level,
html.kore-dark .piece-tags>span,
html.kore-dark .piece-source-mini>span,
html.kore-dark .piece-technical-prep-tags>span{background:#20313c!important;color:#b9cbd5!important}
html.kore-dark .sample-badge.verified{background:#173a31!important;color:#96d7c4!important}
html.kore-dark .piece-cover{background:linear-gradient(145deg,#26323a,#18232c)!important;color:#e8d4b2!important}
html.kore-dark details>summary{color:#dce8ee!important}
html.kore-dark :where(input,select,textarea){background:#0f1a22!important;border-color:#3a4e5a!important;color:#edf5f8!important}
html.kore-dark :where(input,textarea)::placeholder{color:#738894!important}
html.kore-dark :where(button:disabled,.disabled){opacity:.72!important;color:#879aa5!important}
html.kore-dark :where(.feedback,.detail-feedback){color:#dbe7ec!important}
html.kore-dark :where(.good-text,.success){color:#8ed7bd!important}
html.kore-dark :where(.bad-text,.danger-text){color:#ff9b9e!important}

/* Mobile/More sheet is also themed. */
html.kore-dark .mobile-nav-sheet:not(.hidden){background:rgba(5,11,16,.72)!important}
html.kore-dark .mobile-nav-card{background:#14232d!important;border-color:#3a5060!important;color:#edf5f8!important}
html.kore-dark .mobile-nav-choice{background:#101b24!important;border-color:#334754!important;color:#edf5f8!important}
html.kore-dark .mobile-nav-choice:hover{background:#1a2d38!important;border-color:#4d6b7c!important}
html.kore-dark .mobile-nav-choice>span{background:#173142!important;color:#8fd0f0!important}
html.kore-dark .mobile-nav-choice>small{color:#9fb2bd!important}

/* --------------------------------------------------------------------------
   Wide TAB mode: transport is pinned above the bottom safe area. It cannot be
   pushed outside the viewport by the score flexbox anymore.
   -------------------------------------------------------------------------- */
body.classical-performance-focus .classical-practice-card{
  padding-bottom:100px!important;
}
body.classical-performance-focus .tab-focus-controls{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  z-index:5200!important;
  display:flex!important;
  width:min(1120px,calc(100vw - 32px))!important;
  margin:0!important;
  visibility:visible!important;
  opacity:1!important;
}
body.classical-performance-focus .classical-stable-practice{
  padding-bottom:6px!important;
}
html.kore-dark body.classical-performance-focus #view-classical{
  background:linear-gradient(180deg,#0d171f,#091117)!important;
}
html.kore-dark body.classical-performance-focus .tab-focus-controls{
  background:rgba(17,30,39,.97)!important;
  border-color:#3c5260!important;
  box-shadow:0 12px 34px rgba(0,0,0,.42)!important;
}
html.kore-dark body.classical-performance-focus #cgPerformanceFocus,
html.kore-dark body.classical-performance-focus .tab-focus-marker,
html.kore-dark body.classical-performance-focus .tab-focus-bpm{
  background:#14232d!important;
  border-color:#405764!important;
  color:#e9f2f6!important;
}
html.kore-dark body.classical-performance-focus .tab-focus-bpm input{color:#edf5f8!important}
@media(max-width:700px){
  body.classical-performance-focus .classical-practice-card{padding-bottom:152px!important}
  body.classical-performance-focus .tab-focus-controls{width:calc(100vw - 16px)!important;bottom:max(8px,env(safe-area-inset-bottom))!important}
}


/* ==========================================================================
   R7.16 — Dark-mode completion, readable placement, language selector,
   fixed transition challenge overlay and reliable TAB transport.
   ========================================================================== */

/* Compact language selector in the global header and accessibility dialog. */
.ui-language-select,
.a11y-language-select{
  min-height:36px!important;
  padding:5px 30px 5px 9px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  font:inherit!important;
  font-size:.78rem!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.ui-language-select{max-width:112px!important}
.a11y-language-select{min-width:150px!important}
html[data-ui-language="en"] .guided-topbar,
html[data-ui-language="ru"] .guided-topbar{direction:ltr!important}
html[data-ui-language="he"] .guided-topbar,
html[data-ui-language="ar"] .guided-topbar{direction:rtl!important}

/* Placement: turn the tiny, dense screen into a readable full-size assessment surface. */
.placement-layer:not(.hidden){
  position:fixed!important;
  inset:0!important;
  z-index:12500!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  overflow:auto!important;
  background:rgba(10,18,24,.68)!important;
  backdrop-filter:blur(8px)!important;
}
.placement-card{
  width:min(1180px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  padding:clamp(22px,3vw,38px)!important;
  overflow:auto!important;
  scrollbar-gutter:stable!important;
  border-radius:18px!important;
  font-size:1rem!important;
  line-height:1.65!important;
}
.placement-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:24px!important;
  padding-bottom:22px!important;
  margin-bottom:24px!important;
}
.placement-head h2{
  margin:6px 0 10px!important;
  font-size:clamp(2rem,4vw,3.5rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.placement-head p{
  max-width:850px!important;
  margin:0!important;
  font-size:1rem!important;
  line-height:1.7!important;
}
.first-run-stepper{
  margin-top:18px!important;
  grid-template-columns:repeat(3,minmax(150px,1fr))!important;
  gap:8px!important;
}
.first-run-stepper>span{
  min-height:46px!important;
  padding:9px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:var(--paper-soft)!important;
  font-size:.9rem!important;
  font-weight:800!important;
}
#placementIntro,
#placementQuiz,
#placementResult{
  display:grid!important;
  gap:18px!important;
}
#placementIntro.hidden,
#placementQuiz.hidden,
#placementResult.hidden{display:none!important}
.placement-level-choice{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,430px)!important;
  gap:12px 18px!important;
  align-items:end!important;
  padding:18px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--paper-soft)!important;
}
.placement-level-choice label{
  display:grid!important;
  gap:5px!important;
  font-size:1rem!important;
}
.placement-level-choice label>b{font-size:1.15rem!important}
.placement-level-choice select{
  min-height:52px!important;
  font-size:1rem!important;
}
.placement-level-choice-note{
  grid-column:1/-1!important;
  padding:10px 12px!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--blue) 8%,var(--paper))!important;
  color:var(--ink-soft)!important;
  font-size:.9rem!important;
}
.placement-unsure{
  grid-column:1/-1!important;
  justify-self:start!important;
  min-height:44px!important;
  font-size:.92rem!important;
}
.mastery-placement-domains{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  border:0!important;
}
.mastery-placement-domains>*{
  min-height:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:8px 9px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:var(--paper-soft)!important;
  text-align:center!important;
  font-size:.85rem!important;
}
.placement-expectation,
.placement-recovery-safety,
.placement-resume-note{
  padding:15px 16px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:var(--paper-soft)!important;
  font-size:.95rem!important;
  line-height:1.65!important;
}
.placement-start-actions{
  position:sticky!important;
  bottom:-1px!important;
  z-index:3!important;
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:12px 0 2px!important;
  background:linear-gradient(180deg,transparent,var(--paper) 30%)!important;
}
.placement-start-actions .primary{min-height:50px!important;font-size:1rem!important}
.placement-progress-row{
  position:sticky!important;
  top:-1px!important;
  z-index:3!important;
  display:grid!important;
  gap:8px!important;
  padding:10px 0 12px!important;
  background:var(--paper)!important;
}
#placementDomain{
  width:max-content!important;
  max-width:100%!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--blue) 10%,var(--paper))!important;
  color:var(--blue)!important;
  font-size:.88rem!important;
  font-weight:900!important;
}
#placementQuestion{
  margin:2px 0!important;
  font-size:clamp(1.35rem,2vw,1.8rem)!important;
  line-height:1.5!important;
  color:var(--ink)!important;
}
.placement-options{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.placement-options button{
  min-height:62px!important;
  padding:14px 16px!important;
  border-radius:10px!important;
  font-size:1rem!important;
  line-height:1.5!important;
  text-align:start!important;
  background:var(--paper-soft)!important;
  color:var(--ink)!important;
}
#placementFeedback{
  min-height:44px!important;
  font-size:.95rem!important;
  line-height:1.6!important;
}

/* Theory and all universal transition challenges must be modal overlays above footer/navigation. */
.transition-challenge-layer{
  position:fixed!important;
  inset:0!important;
  z-index:12600!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  overflow:auto!important;
  background:rgba(8,17,23,.66)!important;
  backdrop-filter:blur(7px)!important;
}
.transition-challenge-layer.hidden{display:none!important}
.transition-challenge-card{
  width:min(900px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:auto!important;
  padding:24px!important;
  border-radius:15px!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  box-shadow:0 26px 80px rgba(0,0,0,.30)!important;
}
.transition-challenge-card>header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding-bottom:14px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid var(--line)!important;
}
.transition-challenge-card h2{font-size:1.55rem!important;line-height:1.3!important}
.stage-challenge-question{
  display:grid!important;
  gap:14px!important;
  padding:18px!important;
  border-radius:11px!important;
  background:var(--paper-soft)!important;
}
.stage-challenge-question h3{
  margin:0!important;
  font-size:1.18rem!important;
  line-height:1.6!important;
}
.transition-challenge-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.transition-challenge-options>button{
  min-height:54px!important;
  padding:12px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  text-align:start!important;
  font:inherit!important;
}
body.transition-challenge-open{overflow:hidden!important}

/* Reliable TAB-only transport: fixed, clickable and always above the score. */
body.classical-performance-focus .tab-focus-controls{
  pointer-events:auto!important;
  isolation:isolate!important;
  z-index:15000!important;
}
body.classical-performance-focus .tab-focus-controls,
body.classical-performance-focus .tab-focus-controls *{
  pointer-events:auto!important;
}
body.classical-performance-focus #cgTabFocusStop{
  position:relative!important;
  z-index:2!important;
  min-width:102px!important;
}
body.classical-performance-focus #cgTabFocusStop:not(:disabled){
  background:#a13d36!important;
  border-color:#a13d36!important;
  color:#fff!important;
  cursor:pointer!important;
}
body.classical-performance-focus #cgTabFocusStop:disabled{
  background:var(--paper-soft)!important;
  color:var(--muted)!important;
}

/* Comprehensive dark-mode completion. R7.15 covered named major screens; these
   generic component families catch remaining white cards/options created at runtime. */
html.kore-dark #appShell :where(
  [class$="-card"],[class*="-card "],
  [class$="-panel"],[class*="-panel "],
  [class$="-workspace"],[class*="-workspace "],
  [class$="-module"],[class*="-module "],
  [class$="-level"],[class*="-level "],
  [class$="-section"],[class*="-section "],
  [class$="-result"],[class*="-result "],
  [class$="-callout"],[class*="-callout "],
  [class$="-note"],[class*="-note "],
  [class$="-summary"],[class*="-summary "]
){
  background-color:#14232d!important;
  border-color:#334a58!important;
  color:#edf5f8!important;
}
html.kore-dark #appShell button:not(.primary):not(.nav-item):not(.text-button):not(.music-term-link):not(.chord-symbol-link){
  background:#101c25!important;
  border-color:#3b5260!important;
  color:#eaf3f7!important;
}
html.kore-dark #appShell button:not(.primary):not(.nav-item):not(.text-button):hover:not(:disabled){
  background:#1a2e3a!important;
  border-color:#557284!important;
}
html.kore-dark #appShell :where(
  .concept-box,.checkpoint-instruction,.checkpoint-model-answer,.assessment-recommendation,
  .academic-checkpoint-card,.academic-domain-card,.exam-result,.teacher-coach-note,
  .placement-expectation,.placement-recovery-safety,.placement-resume-note,
  .universal-transition-callout,.universal-transition-passed
){
  background:#101c25!important;
  border-color:#334a58!important;
  color:#dfeaf0!important;
}
html.kore-dark #appShell :where(.exam-options>button,.placement-options>button,.transition-challenge-options>button){
  background:#101c25!important;
  border-color:#3a5160!important;
  color:#edf5f8!important;
}
html.kore-dark #appShell :where(.exam-options>button,.placement-options>button,.transition-challenge-options>button):hover:not(:disabled){
  background:#19303c!important;
  border-color:#557486!important;
}
html.kore-dark .placement-card,
html.kore-dark .transition-challenge-card{
  background:#14232d!important;
  color:#edf5f8!important;
  border-color:#3a5260!important;
}
html.kore-dark .placement-progress-row,
html.kore-dark .placement-start-actions{
  background:#14232d!important;
}
html.kore-dark .placement-level-choice,
html.kore-dark .mastery-placement-domains>*,
html.kore-dark .stage-challenge-question{
  background:#101c25!important;
  border-color:#354b58!important;
  color:#edf5f8!important;
}
html.kore-dark .placement-level-choice-note,
html.kore-dark #placementDomain{
  background:#173244!important;
  color:#93d3f4!important;
}
html.kore-dark .transition-challenge-options>button{
  background:#14232d!important;
}

/* Keep only true notation / TAB paper light in dark mode. */
html.kore-dark :where(
  .continuous-score-sheet,.classical-score-sheet,.local-score-sheet,
  .classical-score-frame,.classical-score-viewport,.continuous-score-svg,
  .tt-score-stage,.tt-score-viewport,.tt-score-svg,
  .staff-wrap,.fluency-staff,.bridge-staff,.phrase-staff,.performance-staff,.sight-staff,
  .v3-staff-wrap,.game-score-svg,.tab-focus-sheet
){
  background:#fffdf8!important;
  color:#1c3043!important;
}
html.kore-dark :where(
  .continuous-score-sheet,.classical-score-sheet,.local-score-sheet,
  .classical-score-frame,.classical-score-viewport,.tt-score-stage,.tt-score-viewport,
  .staff-wrap,.v3-staff-wrap
) :where(text,tspan){
  fill:#1c3043!important;
}

/* Accessibility panel follows the same dark palette. */
html.kore-dark .accessibility-card,
html.kore-dark .accessibility-setting,
html.kore-dark .a11y-segment{
  background:#14232d!important;
  border-color:#38505e!important;
  color:#edf5f8!important;
}
html.kore-dark .ui-language-select,
html.kore-dark .a11y-language-select{
  background:#101c25!important;
  border-color:#405866!important;
  color:#edf5f8!important;
}

@media(max-width:900px){
  .mastery-placement-domains{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .placement-level-choice{grid-template-columns:1fr!important}
  .placement-head{grid-template-columns:1fr!important}
  .placement-head>#closePlacementOptional{justify-self:start!important}
}
@media(max-width:640px){
  .placement-layer:not(.hidden),.transition-challenge-layer{padding:8px!important}
  .placement-card,.transition-challenge-card{width:100%!important;max-height:calc(100dvh - 16px)!important;padding:18px!important}
  .placement-head h2{font-size:2rem!important}
  .mastery-placement-domains{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .placement-options,.transition-challenge-options{grid-template-columns:1fr!important}
  .ui-language-select{max-width:94px!important}
}

/* ========================================================================== 
   R7.17 — Runtime dark-surface normalizer
   Any UI surface that still computes as white/light in dark mode receives
   .kore-dark-auto-surface. Music notation / TAB paper is explicitly exempt.
   ========================================================================== */
html.kore-dark .kore-dark-auto-surface{
  background-color:#14232d!important;
  background-image:none!important;
  border-color:#38505e!important;
  color:#edf5f8!important;
  box-shadow:none!important;
}
html.kore-dark .kore-dark-auto-surface :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,em,li,dt,dd,legend){
  color:#e7f0f4!important;
}
html.kore-dark .kore-dark-auto-surface :where(.muted,[class*="muted"],.helper,.hint,.subtitle,.description){
  color:#a9bbc5!important;
}
html.kore-dark .kore-dark-auto-surface :where(input,select,textarea){
  background:#0f1b24!important;
  border-color:#405866!important;
  color:#edf5f8!important;
}
html.kore-dark .kore-dark-auto-surface :where(input,textarea)::placeholder{color:#8196a3!important;opacity:1!important}
html.kore-dark .kore-dark-auto-surface :where(.progress,.progress-track,.mini-progress,.chapter-progress,[class*="progress-track"]){
  background:#263843!important;
}
html.kore-dark .kore-dark-auto-surface :where(hr){border-color:#38505e!important}

/* Named families visible in the R7.16 audit screenshots. */
html.kore-dark #appShell :where(
  .academy-levels>*,.exam-topic-grid>*,.gate-grid>*,.numbers-grid>*,.tools-orientation-grid>*,
  .r4-dossier-section,#view-progress>.card,#view-progress>.grid,.skill-map>*,.readiness-grid>*,.roadmap>*,
  .tt-goal-progress,.tt-goal-progress>*,.tt-custom-progress,.tt-custom-progress>*,
  .classical-library-hero,.classical-library-tabs,.classical-library-intro,.classical-library-overview,
  .curriculum-v2-hero,.curriculum-specialization-picker,.lesson-note-card,.lesson-mastery-evidence,
  .retention-question,.retention-result,.class-level-audit,.class-audit-detail,.class-intervention-detail,
  .first-run-home,.stage-challenge-question
){
  background:#14232d!important;
  border-color:#38505e!important;
  color:#edf5f8!important;
}
html.kore-dark #appShell :where(
  .academy-levels>*,.exam-topic-grid>*,.gate-grid>*,.numbers-grid>*,.tools-orientation-grid>*,
  .r4-dossier-section,#view-progress>.card,#view-progress>.grid,.skill-map>*,.readiness-grid>*,.roadmap>*,
  .classical-library-hero,.classical-library-tabs,.classical-library-intro,.classical-library-overview
) :where(h1,h2,h3,h4,p,span,small,strong,b,label,em){color:#e7f0f4!important}

/* Keep only real score/TAB paper light. */
html.kore-dark :where(
  .continuous-score-sheet,.classical-score-sheet,.local-score-sheet,
  .classical-score-frame,.classical-score-viewport,.continuous-score-svg,
  .tt-score-stage,.tt-score-viewport,.tt-score-svg,
  .staff-wrap,.fluency-staff,.bridge-staff,.phrase-staff,.performance-staff,.sight-staff,
  .v3-staff-wrap,.game-score-svg,.tab-focus-sheet
){
  background:#fffdf8!important;
  color:#1c3043!important;
}

/* ========================================================================== 
   R7.18 — Hard dark-mode surface coverage
   Final-pass rules for light utility rows/cards that are not notation paper.
   Runtime JS also applies inline !important background overrides when needed.
   ========================================================================== */
html.kore-dark #appShell :where(
  .piece-technical-prep-sections>span,.playability-hotspot,.piece-session-stat,
  .tt-goal-progress>div,.tt-custom-progress>div,.tt-mini-progress>div,
  .tt-goal-progress i,.tt-custom-progress i,.tt-mini-progress i,
  .mastery-kpi,.mastery-stat,.mastery-evidence-card,.mastery-summary-card,
  .progress-kpi,.progress-stat,.progress-summary-card,.progress-evidence-card,
  .academy-level-card,.academy-topic-card,.exam-topic-card,.exam-question-card,
  .classical-library-tabs,.classical-library-hero,.classical-library-intro,
  .classical-library-overview,.piece-curriculum-requirement,.piece-recommend,
  .open-repertoire-note,.open-repertoire-result-head,
  .lesson-card,.lesson-note-card,.lesson-mastery-evidence,
  .retention-question,.retention-result,.learning-analytics-card,
  .teacher-command-clear,.teacher-feedback-card,.teacher-assignment-card,
  .institution-transcript-row,.institution-credential,.institution-cohort-row,
  .performance-card,.performance-note,.game-progress-strip>*,.arcade-progress>*
){
  background:#14232d!important;
  border-color:#38505e!important;
  color:#edf5f8!important;
  box-shadow:none!important;
}
html.kore-dark #appShell :where(
  .piece-technical-prep-sections>span,.playability-hotspot,.piece-session-stat,
  .tt-goal-progress>div,.tt-custom-progress>div,.tt-mini-progress>div,
  .mastery-kpi,.mastery-stat,.mastery-evidence-card,.mastery-summary-card,
  .progress-kpi,.progress-stat,.progress-summary-card,.progress-evidence-card,
  .academy-level-card,.academy-topic-card,.exam-topic-card,.exam-question-card,
  .piece-curriculum-requirement,.piece-recommend,.open-repertoire-note,
  .lesson-card,.lesson-note-card,.lesson-mastery-evidence,
  .retention-question,.retention-result,.learning-analytics-card,
  .teacher-command-clear,.teacher-feedback-card,.teacher-assignment-card,
  .institution-transcript-row,.institution-credential,.institution-cohort-row
) :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,em,li){
  color:#e7f0f4!important;
}
html.kore-dark #appShell :where(.tt-goal-progress i,.tt-custom-progress i,.tt-mini-progress i){
  background:#263843!important;
}
html.kore-dark #appShell :where(.tt-goal-progress i>b,.tt-custom-progress i>b,.tt-mini-progress i>b){
  background:linear-gradient(90deg,var(--teal),#48a28d)!important;
}
html.kore-dark #appShell :where(input,select,textarea):not(.score-input):not([data-score-input]){
  background:#0f1b24!important;
  border-color:#405866!important;
  color:#edf5f8!important;
}
html.kore-dark #appShell :where(input,textarea)::placeholder{color:#8196a3!important;opacity:1!important}

/* The runtime normalizer class must win over any older module-specific !important. */
html.kore-dark #appShell .kore-dark-auto-surface,
html.kore-dark body .kore-dark-auto-surface{
  background-color:#14232d!important;
  background-image:none!important;
  border-color:#38505e!important;
  color:#edf5f8!important;
  box-shadow:none!important;
}

/* ==========================================================================
   R7.19 — Full-site localization
   ========================================================================== */
.i18n-status{
  position:fixed!important;
  inset-inline-end:18px!important;
  bottom:18px!important;
  z-index:14000!important;
  max-width:min(460px,calc(100vw - 36px))!important;
  padding:9px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--paper) 96%,transparent)!important;
  color:var(--ink-soft)!important;
  box-shadow:var(--shadow)!important;
  font-size:.75rem!important;
  font-weight:700!important;
  backdrop-filter:blur(10px)!important;
}
.i18n-status.hidden{display:none!important}
.i18n-status[data-state="native"]{border-color:#78b7a6!important;color:#2c7867!important}
.i18n-status[data-state="downloading"]{border-color:#d5a85b!important;color:#9b6517!important}
html.kore-dark .i18n-status{background:rgba(17,31,40,.96)!important;color:#c8d8df!important;border-color:#3d5360!important}
html.kore-dark .i18n-status[data-state="native"]{color:#91d7c4!important;border-color:#4b9c86!important}
html.kore-dark .i18n-status[data-state="downloading"]{color:#f0bf70!important;border-color:#9c7639!important}

/* Switching to English/Russian changes the whole document flow, not only the top bar. */
body.kore-i18n-ltr :where(
  #appShell,.guided-shell,.app-view,.card,.view-heading,section,article,
  .curriculum-v2-library,.curriculum-v2-workspace,.curriculum-v2-chapter,
  .v3-lesson-article,.tt-app,.tt-main-panel,.tt-side-stack,.classical-app,
  .classical-track,.classical-lesson,.classical-library,.teacher-app,
  .teacher-workspace,.academy-workspace,.exam-workspace,.progress-workspace,
  .accessibility-card,.mobile-nav-card,.transition-challenge-card,.placement-card
){direction:ltr!important}
body.kore-i18n-ltr :where(
  .app-view h1,.app-view h2,.app-view h3,.app-view h4,.app-view h5,.app-view h6,
  .app-view p,.app-view li,.app-view label,.app-view small,.app-view em,
  .app-view .muted,.app-view .micro-label,.app-view .eyebrow,
  .accessibility-card,.mobile-nav-card,.transition-challenge-card,.placement-card
){text-align:left!important}
body.kore-i18n-rtl :where(
  #appShell,.guided-shell,.app-view,.accessibility-card,.mobile-nav-card,
  .transition-challenge-card,.placement-card
){direction:rtl!important}
body.kore-i18n-rtl :where(
  .app-view h1,.app-view h2,.app-view h3,.app-view h4,.app-view h5,.app-view h6,
  .app-view p,.app-view li,.app-view label,.app-view small,.app-view em,
  .accessibility-card,.mobile-nav-card,.transition-challenge-card,.placement-card
){text-align:right!important}

/* Inputs follow the selected site language unless the control is explicitly musical/LTR. */
body.kore-i18n-ltr :where(input:not([dir]),textarea:not([dir]),select:not([dir])){direction:ltr!important;text-align:left!important}
body.kore-i18n-rtl :where(input:not([dir]),textarea:not([dir]),select:not([dir])){direction:rtl!important;text-align:right!important}
body.kore-i18n-ltr :where(.global-search-shell,.global-search-panel,.global-search-row,.top-actions,.user-chip>div){direction:ltr!important;text-align:left!important}
body.kore-i18n-rtl :where(.global-search-shell,.global-search-panel,.global-search-row){direction:rtl!important;text-align:right!important}

/* Music notation keeps its conventional direction regardless of interface language. */
:where(.classical-score-viewport,.continuous-score-sheet,.continuous-score-svg,.tt-score-viewport,.tt-score-svg,.v3-tab,.tab-focus-sheet,.numbers-output,.numbers-line){direction:ltr!important;text-align:left!important}

@media(max-width:720px){
  .i18n-status{inset-inline:10px!important;bottom:76px!important;max-width:none!important}
}

/* R7.19 auth language selector */
.auth-brand{position:relative!important}
.auth-language-select{
  position:absolute!important;
  inset-inline-end:0!important;
  top:0!important;
  min-height:34px!important;
  padding:5px 28px 5px 9px!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  font:inherit!important;
  font-size:.76rem!important;
  font-weight:800!important;
}
html.kore-dark .auth-language-select{background:#101b24!important;color:#eef4f7!important;border-color:#405361!important}
body.kore-i18n-ltr .auth-card{direction:ltr!important;text-align:left!important}
body.kore-i18n-ltr .auth-form :where(label,.field-hint,.auth-panel-title,.auth-message){text-align:left!important}
body.kore-i18n-rtl .auth-card{direction:rtl!important;text-align:right!important}
@media(max-width:640px){.auth-language-select{position:static!important;justify-self:start!important;margin-inline-start:auto!important}}

/* R7.20 fast localization status */
.i18n-status[data-state="translating"]{border-color:#4e9fc7!important;color:#276f92!important}
html.kore-dark .i18n-status[data-state="translating"]{border-color:#4a93b8!important;color:#8bd0f4!important}


/* ==========================================================================
   R7.21 — deterministic i18n + header rebuild
   Structural header flow is always LTR; only text/navigation direction follows
   the selected locale. Secondary destinations stay under More at standard
   desktop widths to prevent collisions with search, controls and account.
   ========================================================================== */
.guided-topbar{
  direction:ltr!important;
  grid-template-columns:minmax(160px,190px) minmax(390px,1fr) minmax(220px,290px) minmax(400px,max-content)!important;
  grid-template-areas:"brand nav search actions"!important;
  column-gap:8px!important;
  padding-inline:clamp(14px,1.45vw,28px)!important;
  overflow:visible!important;
}
.brand-lockup{min-width:0!important}
.app-nav{min-width:0!important;justify-content:flex-start!important;overflow:hidden!important}
.app-nav .nav-item{min-width:0!important;padding-inline:10px!important;gap:6px!important;font-size:.78rem!important;flex:0 1 auto!important}
.mobile-more-nav{display:flex!important;flex:0 0 auto!important}
.desktop-quick-nav{display:none!important}
.top-actions{min-width:0!important;gap:6px!important;overflow:visible!important;white-space:nowrap!important}
.top-actions>#qaOverrideBtn:not(.hidden),#accessibilityBtn,#themeModeBtn,.ui-language-select{flex:0 0 auto!important}
.top-actions>#qaOverrideBtn:not(.hidden),#accessibilityBtn,#themeModeBtn{min-height:36px!important;padding-inline:10px!important;font-size:.72rem!important}
#themeModeBtn{min-width:0!important}
.ui-language-select{width:auto!important;min-width:82px!important;max-width:104px!important;padding-inline:8px 25px!important}
.user-chip{min-width:126px!important;max-width:164px!important;gap:6px!important}
.user-chip>div{min-width:0!important;overflow:hidden!important}
.user-chip b,.user-chip span{overflow:hidden!important;text-overflow:ellipsis!important;max-width:105px!important}
html[data-ui-language="en"] .app-nav,html[data-ui-language="ru"] .app-nav{direction:ltr!important}
html[data-ui-language="he"] .app-nav,html[data-ui-language="ar"] .app-nav{direction:rtl!important}
html[data-ui-language="en"] .brand-lockup,html[data-ui-language="ru"] .brand-lockup{direction:ltr!important}
html[data-ui-language="he"] .brand-lockup,html[data-ui-language="ar"] .brand-lockup{direction:rtl!important}

/* Very wide displays may expose the three secondary quick destinations. */
@media (min-width:2200px){
  .guided-topbar{grid-template-columns:minmax(178px,205px) minmax(720px,1fr) minmax(250px,315px) max-content!important}
  .desktop-quick-nav{display:flex!important}
}
@media (max-width:1640px) and (min-width:1281px){
  .guided-topbar{grid-template-columns:minmax(148px,174px) minmax(330px,1fr) minmax(190px,250px) minmax(360px,max-content)!important;column-gap:6px!important;padding-inline:12px!important}
  .app-nav .nav-item{padding-inline:8px!important;font-size:.74rem!important}
  .brand-lockup p{display:none!important}
  .top-actions>#qaOverrideBtn:not(.hidden){padding-inline:8px!important;font-size:.68rem!important}
  #accessibilityBtn,#themeModeBtn{padding-inline:8px!important;font-size:.69rem!important}
  .user-chip{min-width:112px!important;max-width:138px!important}
}
@media (max-width:1280px) and (min-width:981px){
  :root{--topbar:118px}
  .guided-topbar{
    direction:ltr!important;
    grid-template-columns:minmax(155px,190px) minmax(280px,1fr) minmax(360px,max-content)!important;
    grid-template-rows:59px 59px!important;
    grid-template-areas:"brand search actions" "nav nav nav"!important;
    padding-inline:12px!important;
  }
  .desktop-quick-nav{display:none!important}
  .app-nav{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none}
  .app-nav::-webkit-scrollbar{display:none}
  .app-nav .nav-item{flex:1 1 auto!important;min-width:72px!important;padding-inline:9px!important}
  .top-actions{justify-content:flex-end!important}
}
@media (max-width:980px){
  .guided-topbar{direction:ltr!important}
  .desktop-quick-nav{display:none!important}
}

/* Translation progress remains available to assistive technology but is never
   rendered as a persistent visual toast. */
#i18nStatus{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* ==========================================================================
   R7.22 — desktop navigation recovery
   Practice/Theory/Games are promoted back out of More when there is real room.
   More stays available for the long tail of secondary/admin destinations.
   ========================================================================== */
@media (min-width:1680px){
  .desktop-quick-nav{display:flex!important}
  .app-nav .nav-item{flex:0 0 auto!important;min-width:76px!important;padding-inline:9px!important}
  .guided-topbar{grid-template-columns:minmax(162px,188px) minmax(720px,1fr) minmax(205px,265px) minmax(365px,max-content)!important}
}
@media (min-width:1440px) and (max-width:1679px){
  .desktop-quick-nav[data-desktop-view="practice"],
  .desktop-quick-nav[data-desktop-view="academy"]{display:flex!important}
  .desktop-quick-nav[data-desktop-view="games"]{display:none!important}
  .app-nav .nav-item{flex:0 0 auto!important;min-width:72px!important;padding-inline:8px!important}
}
@media (max-width:1439px){
  .desktop-quick-nav{display:none!important}
}


/* ==========================================================================
   R7.23 — Home locale direction, recommendation cards and score stability
   ========================================================================== */
body.kore-i18n-ltr #view-home :where(.home-next-column,.dashboard-secondary-grid>*,.lesson-focus-copy,.dashboard-heading,.today-plan-card>header h3,.plan-customize,.review-list>button,.home-recommendations .shortcut-card){direction:ltr!important;text-align:left!important}
body.kore-i18n-ltr #view-home .lesson-focus-copy{padding:1px 28px 0 18px!important}
body.kore-i18n-ltr #view-home .dashboard-heading{padding:4px 0 0 14px!important}
body.kore-i18n-ltr #view-home .today-plan-card>header{direction:ltr!important}
body.kore-i18n-ltr #view-home .progress-rings{direction:ltr!important}
body.kore-i18n-rtl #view-home :where(.home-next-column,.dashboard-secondary-grid>*,.lesson-focus-copy,.dashboard-heading,.home-recommendations .shortcut-card){direction:rtl!important;text-align:right!important}

/* The legacy .shortcut-card::before rule still had left:22px. Together with
   right:0 it stretched the decorative panel across the copy. Reset both axes. */
.home-recommendations .shortcut-card{isolation:isolate!important;padding:12px 112px 12px 12px!important;grid-auto-flow:row!important}
.home-recommendations .shortcut-card::before,.home-recommendations .shortcut-card::after{left:auto!important;right:0!important;width:100px!important;max-width:100px!important;z-index:0!important;pointer-events:none!important}
.home-recommendations .shortcut-card>span,.home-recommendations .shortcut-card>small,.home-recommendations .shortcut-card>b{position:relative!important;z-index:2!important;display:block!important;min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
body.kore-i18n-ltr .home-recommendations .shortcut-card{padding:12px 112px 12px 14px!important;text-align:left!important}
body.kore-i18n-ltr .home-recommendations .shortcut-card>small,body.kore-i18n-ltr .home-recommendations .shortcut-card>b{text-align:left!important}
html.kore-dark .home-recommendations .shortcut-card>small,html.kore-dark .home-recommendations .shortcut-card>b{color:#b9c8d1!important}

/* Continuous score: no smooth-scroll animation, no transition/filter shimmer. */
.classical-score-viewport{scroll-behavior:auto!important;overscroll-behavior-x:contain!important;contain:layout paint!important}
.classical-score-viewport .score-event,.classical-score-viewport .score-event *{transition:none!important}
.classical-score-viewport .score-event.current-event .notehead{filter:none!important}
.classical-score-viewport .continuous-score-track,.classical-score-viewport .continuous-score-sheet{backface-visibility:hidden!important}


/* ==========================================================================
   R7.24 — score repaint isolation / no-flicker playback
   Keep the continuous score as one stable composited surface. The viewport
   scroll position may change every animation frame, but descendants must not
   trigger page-wide paint/transition work.
   ========================================================================== */
.classical-score-frame,
.classical-score-viewport{
  isolation:isolate!important;
  contain:layout paint style!important;
}
.classical-score-viewport .continuous-score-track{
  transform:none!important;
  will-change:auto!important;
  backface-visibility:visible!important;
}
.classical-score-viewport .continuous-score-sheet{
  transform:none!important;
  will-change:auto!important;
  backface-visibility:visible!important;
  shape-rendering:geometricPrecision!important;
  text-rendering:geometricPrecision!important;
}
.classical-score-viewport .score-event,
.classical-score-viewport .score-event *{
  animation:none!important;
  transition:none!important;
}
.classical-score-viewport.score-autofollow-active{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
}


/* ==========================================================================
   R7.25 — continuous score raster stability
   Audio stays full precision; only visual scroll writes are capped in JS.
   ========================================================================== */
.classical-score-viewport.score-autofollow-active{
  will-change:scroll-position!important;
  scroll-behavior:auto!important;
}
.classical-score-viewport .continuous-score-sheet{
  shape-rendering:auto!important;
  text-rendering:auto!important;
}
.classical-score-viewport .score-event.current-event .notehead,
.classical-score-viewport .score-event.current-event :where(.tab-number,.left-finger,.right-finger){
  filter:none!important;
  transition:none!important;
  animation:none!important;
}

/* ============================================================================
   R7.26 — deterministic Today-card locale copy + progress-label collision fix
   Root cause #1: the Today descriptions were CSS generated-content, so the DOM
   i18n layer could never translate them. Keep the visual treatment, but bind the
   generated copy directly to the active document locale.
   Root cause #2: progress labels were forced to white-space:nowrap, allowing the
   English labels to paint into the neighboring ring. Labels now wrap inside
   their own column and the ring row reserves vertical room for two/three lines.
   ============================================================================ */

/* Today plan subtitles: Hebrew is the source/default. */
html[data-ui-language="he"] .today-plan-card .plan-item:nth-child(1)>span:first-child::after{content:"קריאת תווים וקצב — תרגול קצר להתחלה מדויקת"!important}
html[data-ui-language="he"] .today-plan-card .plan-item:nth-child(2)>span:first-child::after{content:"סדרות אקורדים בפונקציות טונליות"!important}
html[data-ui-language="he"] .today-plan-card .plan-item:nth-child(3)>span:first-child::after{content:"זיהוי אקורדים בהקשר הרמוני"!important}
html[data-ui-language="he"] .today-plan-card .plan-item:nth-child(4)>span:first-child::after{content:"תרגול סולמות בידיים נפרדות ומשולבות"!important}
html[data-ui-language="he"] .today-plan-card .plan-item:nth-child(5)>span:first-child::after{content:"עבודה ממוקדת על היצירה הנוכחית"!important}

html[data-ui-language="en"] .today-plan-card .plan-item:nth-child(1)>span:first-child::after{content:"Note reading and rhythm — a short drill for an accurate start"!important}
html[data-ui-language="en"] .today-plan-card .plan-item:nth-child(2)>span:first-child::after{content:"Chord progressions in tonal functions"!important}
html[data-ui-language="en"] .today-plan-card .plan-item:nth-child(3)>span:first-child::after{content:"Chord recognition in harmonic context"!important}
html[data-ui-language="en"] .today-plan-card .plan-item:nth-child(4)>span:first-child::after{content:"Scale practice with separate and coordinated hands"!important}
html[data-ui-language="en"] .today-plan-card .plan-item:nth-child(5)>span:first-child::after{content:"Focused work on the current piece"!important}

html[data-ui-language="ru"] .today-plan-card .plan-item:nth-child(1)>span:first-child::after{content:"Чтение нот и ритм — короткая разминка для точного начала"!important}
html[data-ui-language="ru"] .today-plan-card .plan-item:nth-child(2)>span:first-child::after{content:"Последовательности аккордов в тональных функциях"!important}
html[data-ui-language="ru"] .today-plan-card .plan-item:nth-child(3)>span:first-child::after{content:"Распознавание аккордов в гармоническом контексте"!important}
html[data-ui-language="ru"] .today-plan-card .plan-item:nth-child(4)>span:first-child::after{content:"Практика гамм отдельно и с координацией рук"!important}
html[data-ui-language="ru"] .today-plan-card .plan-item:nth-child(5)>span:first-child::after{content:"Целенаправленная работа над текущим произведением"!important}

html[data-ui-language="ar"] .today-plan-card .plan-item:nth-child(1)>span:first-child::after{content:"قراءة النوتة والإيقاع — تمرين قصير لبداية دقيقة"!important}
html[data-ui-language="ar"] .today-plan-card .plan-item:nth-child(2)>span:first-child::after{content:"تتابعات الأوتار في الوظائف النغمية"!important}
html[data-ui-language="ar"] .today-plan-card .plan-item:nth-child(3)>span:first-child::after{content:"تمييز الأوتار في السياق الهارموني"!important}
html[data-ui-language="ar"] .today-plan-card .plan-item:nth-child(4)>span:first-child::after{content:"تدريب السلالم باليدين منفصلتين وبالتنسيق بينهما"!important}
html[data-ui-language="ar"] .today-plan-card .plan-item:nth-child(5)>span:first-child::after{content:"عمل مركّز على المقطوعة الحالية"!important}

html[data-ui-language="en"] .today-plan-card .plan-item>span:first-child::after,
html[data-ui-language="ru"] .today-plan-card .plan-item>span:first-child::after{direction:ltr!important;text-align:left!important}
html[data-ui-language="he"] .today-plan-card .plan-item>span:first-child::after,
html[data-ui-language="ar"] .today-plan-card .plan-item>span:first-child::after{direction:rtl!important;text-align:right!important}

/* Progress rings: keep every label in its own grid column. */
#view-home .progress-rings{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  height:170px!important;
  align-items:start!important;
  padding-top:18px!important;
}
#view-home .progress-ring{width:86px!important;height:86px!important;min-width:0!important}
#view-home .progress-ring>small{
  top:94px!important;
  width:96px!important;
  max-width:96px!important;
  white-space:normal!important;
  line-height:1.15!important;
  min-height:2.3em!important;
  text-align:center!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
}

@media (max-width:1280px){
  #view-home .progress-rings{height:158px!important;gap:1px!important;padding-top:14px!important}
  #view-home .progress-ring{width:70px!important;height:70px!important}
  #view-home .progress-ring>small{top:78px!important;width:76px!important;max-width:76px!important;font-size:.6rem!important;line-height:1.12!important;min-height:3.2em!important}
}
@media (max-width:680px){
  #view-home .progress-rings{height:156px!important;gap:0!important;padding-top:12px!important}
  #view-home .progress-ring{width:66px!important;height:66px!important}
  #view-home .progress-ring>small{top:74px!important;width:70px!important;max-width:70px!important;font-size:.58rem!important;line-height:1.1!important}
}



/* ============================================================================
   R7.27 — continuous soft score follow
   Full-refresh-rate, sub-pixel scroll writes are driven by the playback RAF.
   Keep the viewport as the only moving surface; no CSS smooth-scroll queue,
   no snap points and no transform animation on the giant score SVG.
   ============================================================================ */
.classical-score-viewport.score-autofollow-active{
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  overscroll-behavior-inline:contain!important;
  will-change:scroll-position!important;
}
.classical-score-viewport.score-autofollow-active .continuous-score-track,
.classical-score-viewport.score-autofollow-active .continuous-score-sheet{
  transition:none!important;
  animation:none!important;
}
