html body{font-feature-settings:"ss01","cv11"}[dir=rtl],html[lang=he] body{font-family:"Rubik",var(--tj-font)}body button,body input,body select,body textarea{font-family:inherit}.app-shell h1,.app-shell h2,.app-shell h3,.login-screen h1,.login-screen h2{font-family:var(--tj-font-display);letter-spacing:-.015em}.app-shell .content>header h1{font-size:30px!important;font-weight:700!important;letter-spacing:-.02em!important;line-height:1.15}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--tj-lime)!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.tj-icon{display:inline-block;flex:none;vertical-align:middle}.app-shell .notification-trigger{display:inline-grid;place-items:center;color:var(--tj-text)}.app-shell .notification-trigger .tj-icon{width:20px;height:20px}.app-shell .notification-count{background:var(--tj-violet)!important;color:#fff!important}.nav-group-title{display:none}@media (min-width:1051px){html body .app-shell.app-shell .sidebar.sidebar{width:248px;display:flex!important;flex-direction:column!important;min-height:0}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation){display:flex!important;flex-direction:column!important;gap:1px!important;grid-template-columns:none!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;margin:0 -6px!important;padding:0 6px 12px!important;scrollbar-width:thin}html body .app-shell.app-shell .sidebar.sidebar .nav-group-title{display:block;flex:none;margin:14px 12px 4px;color:var(--tj-subtle);font-size:12px;font-weight:600;letter-spacing:.02em}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;flex:none!important;min-height:36px!important;height:auto!important;padding:7px 12px!important;border:0!important;border-radius:var(--tj-radius-sm)!important;background:transparent!important;color:var(--tj-text-2)!important;font-size:14px!important;font-weight:550!important;text-align:start!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button em{display:inline-grid!important;place-items:center;width:22px!important;height:22px!important;margin:0!important;color:var(--tj-muted)!important;font-style:normal;background:none!important;border:0!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button:hover{background:var(--tj-surface-2)!important;color:var(--tj-text)!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active{background:var(--tj-violet-tint)!important;color:var(--tj-text)!important;box-shadow:inset 3px 0 0 var(--tj-lime)!important}html[dir=rtl] body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active{box-shadow:inset -3px 0 0 var(--tj-lime)!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active em{color:var(--tj-lime)!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.mobile-more{display:none!important}html body .app-shell.app-shell .sidebar.sidebar .nav-count{margin-inline-start:auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--tj-radius-pill);background:var(--tj-violet);color:#fff;font-size:12px;font-weight:700;display:inline-grid;place-items:center}html body .app-shell.app-shell .sidebar.sidebar .side-bottom>button{display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 12px;border-radius:var(--tj-radius-sm);font-size:14px;font-weight:550;color:var(--tj-text-2)}}.app-shell .sidebar .nav-label{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:700px){html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button .nav-label{display:block!important;font-size:11px!important;font-weight:600!important;line-height:1.1}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button em .tj-icon{width:22px;height:22px}html body .app-shell.app-shell .sidebar.sidebar .nav-count{display:none}}.app-shell .content button{letter-spacing:.01em}.app-shell .content .primary,.app-shell .primary-action{border-radius:var(--tj-radius-pill)}.app-shell .content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea){background-color:var(--tj-bg)!important;color:var(--tj-text)!important;-webkit-text-fill-color:var(--tj-text)!important;border:1px solid var(--tj-line-strong)!important;border-radius:var(--tj-radius-sm)!important}.app-shell .content :is(input,textarea)::placeholder{color:var(--tj-muted)!important;-webkit-text-fill-color:var(--tj-muted)!important;opacity:1}.app-shell .content :is(input,select,textarea):focus{border-color:var(--tj-lime)!important}.app-shell .content label{color:var(--tj-text-2)}.app-shell .content .lesson-create-bar,.app-shell .content .lesson-student-filter,.app-shell .content [class*=lesson-picker]{background:var(--tj-surface)!important;color:var(--tj-text)!important;border:1px solid var(--tj-line)!important}.app-shell .content :is(.status-good,.lesson-status,.status-pill){border-radius:var(--tj-radius-pill)}.app-shell .avatar,.app-shell .student-avatar{color:var(--tj-on-lime)}.today{display:flex;flex-direction:column;gap:20px;max-width:1120px}.today-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.today-date{margin:0 0 4px;color:var(--tj-muted);font-size:14px;font-weight:500}.today-greeting{margin:0;color:var(--tj-text);font-size:clamp(26px,3.2vw,36px);font-weight:700;letter-spacing:-.025em;line-height:1.1}.today-actions{display:flex;flex-wrap:wrap;gap:8px}.today-actions button,.today-empty button{min-height:40px;padding:0 16px;border-radius:var(--tj-radius-pill);border:1px solid var(--tj-line-strong);background:var(--tj-surface-2);color:var(--tj-text);font-size:14px;font-weight:600;cursor:pointer}.today-actions button:hover,.today-empty button:hover{border-color:var(--tj-muted)}.today-actions .today-primary{background:var(--tj-lime);border-color:var(--tj-lime);color:var(--tj-on-lime)}.today-actions .today-primary:hover{background:var(--tj-lime-strong);border-color:var(--tj-lime-strong)}.today-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0}.today-stats>div{margin:0}.today-stats button{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:2px;width:100%;padding:14px 16px;border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-surface);color:var(--tj-text);text-align:start;white-space:nowrap;cursor:pointer}.today-stats button:hover{border-color:var(--tj-line-strong);background:var(--tj-surface-2)}.today-stats dt{color:var(--tj-muted);font-size:13px;font-weight:500}.today-stats dd{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.today-card{min-width:0;padding:18px 18px 8px;border:1px solid var(--tj-line);border-radius:var(--tj-radius-lg);background:var(--tj-surface)}.today-card-wide{grid-column:1/-1}.today-card>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.today-card h2{margin:0;color:var(--tj-text);font-size:17px;font-weight:650;letter-spacing:-.01em}.today-link{padding:4px 0;border:0;background:none;color:var(--tj-violet-soft);font-size:13px;font-weight:600;cursor:pointer}.today-link:hover{color:var(--tj-text);text-decoration:underline}.today-list{margin:0;padding:0;list-style:none}.today-list li{display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 0;border-top:1px solid var(--tj-line)}.today-list li:first-child{border-top:0}.today-when{display:flex;flex-direction:column;width:88px;flex:none}.today-when b{color:var(--tj-text);font-size:14px;font-weight:650}.today-when small{color:var(--tj-muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.today-what{display:flex;flex-direction:column;min-width:0;flex:1 1}.today-what b{color:var(--tj-text);font-size:15px;font-weight:600}.today-what b,.today-what small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-what small{color:var(--tj-muted);font-size:13px}.today-what small.today-overdue{color:var(--tj-danger);font-weight:600}.today-avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--tj-violet-tint);color:var(--tj-violet-soft);font-size:13px;font-weight:700}.today-row-actions{display:flex;gap:6px;flex:none}.today-row-action{min-height:36px;padding:0 14px;border-radius:var(--tj-radius-pill);border:1px solid var(--tj-lime);background:var(--tj-lime);color:var(--tj-on-lime);font-size:13px;font-weight:650;cursor:pointer}.today-row-action:hover{background:var(--tj-lime-strong)}.today-row-action.today-row-quiet{background:transparent;color:var(--tj-text);border-color:var(--tj-line-strong)}.today-grade{min-width:40px;padding:6px 10px;border-radius:var(--tj-radius-sm);background:var(--tj-violet-tint);color:var(--tj-text);font-weight:700;text-align:center}.today-notice{padding:6px 0 12px}.today-notice b{display:block;color:var(--tj-text);font-size:15px;font-weight:600}.today-notice p{margin:4px 0 8px;color:var(--tj-text-2);font-size:14px;line-height:1.5}.today-notice small{color:var(--tj-muted);font-size:13px}.today-empty{padding:14px 0 16px}.today-empty b{display:block;color:var(--tj-text);font-size:15px;font-weight:600}.today-empty p{margin:4px 0 12px;color:var(--tj-muted);font-size:14px;line-height:1.5}@media (max-width:860px){.today-grid{grid-template-columns:1fr}.today-when{width:76px}}@media (max-width:520px){.today-stats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.today-stats button{padding:12px}.today-stats dd{font-size:22px}.today-list li{flex-wrap:wrap}.today-row-actions{width:100%;padding-inline-start:0}.today-row-actions button{flex:1 1}}.app-shell .content .teacher-invite-card .teacher-invite-action{grid-column:2/-1!important;justify-self:start!important}.app-shell .content .teacher-invite-action{width:auto!important;min-width:0!important;max-width:none!important;white-space:nowrap!important;min-height:44px!important;padding:0 20px!important;border-radius:var(--tj-radius-pill)!important;font-size:14px!important;letter-spacing:.01em!important}.app-shell .content .student-identity>span{background:var(--tj-violet-tint)!important;border:1px solid var(--tj-line-strong)!important;color:var(--tj-violet-soft)!important}.app-shell .content .student-identity>span .profile-avatar-frame{color:var(--tj-violet-soft)!important;font-size:15px!important;font-weight:700!important}.app-shell .content .student-identity small{color:var(--tj-muted)!important;font-weight:500!important}.app-shell .content .teacher-student-row .status-good{padding:4px 12px!important;font-size:13px!important;font-weight:600!important}.app-shell .content .student-quick-actions a,.app-shell .content .student-quick-actions button{min-height:38px!important;padding:0 12px!important;border-radius:var(--tj-radius-pill)!important;font-size:12px!important;font-weight:650!important}.app-shell .content .teacher-student-row.student-card-compact{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding:14px 16px!important}.app-shell .content .student-card-compact .student-identity{padding-inline-end:150px;min-height:44px}.app-shell .content .student-card-compact .student-identity>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.app-shell .content .student-card-compact .student-identity .status-good{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px!important;font-size:12px!important;border-radius:var(--tj-radius-pill)!important}.app-shell .content .student-card-menu>summary{position:absolute;inset-block-start:16px;inset-inline-end:16px;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:var(--tj-surface-3);color:var(--tj-text);font-size:var(--tj-text-sm);font-weight:650;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.app-shell .content .student-card-menu>summary::-webkit-details-marker{display:none}.app-shell .content .student-card-menu>summary:hover{border-color:var(--tj-lime)}.app-shell .content .student-card-menu>summary i{font-style:normal;transition:transform .15s ease}.app-shell .content .student-card-menu[open]>summary{border-color:var(--tj-lime);color:var(--tj-lime)}.app-shell .content .student-card-menu[open]>summary i{transform:rotate(180deg)}.app-shell .content .student-card-menu-body{display:grid;gap:var(--tj-space-3);margin-top:var(--tj-space-3);padding-top:var(--tj-space-3);border-top:1px solid var(--tj-line)}.app-shell .content .student-card-details{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.app-shell .content .student-card-menu-body .student-quick-actions{display:flex!important;flex-wrap:wrap;gap:8px}@media (max-width:520px){.app-shell .content .student-card-compact .student-identity{padding-inline-end:56px}.app-shell .content .student-card-menu>summary{inset-block-start:18px;inset-inline-end:12px;padding:0 12px}.app-shell .content .student-card-menu>summary>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell .content .student-card-menu-body .student-quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell .content .page-status{gap:8px 20px!important;flex-wrap:wrap}@media (max-width:700px){.app-shell .content .page-status{gap:6px 14px!important}}.app-shell .content .page-status dt{color:var(--tj-muted)!important;font-weight:500!important}html body .action-modal{color:var(--tj-text)!important;border:1px solid var(--tj-line)!important;border-radius:var(--tj-radius-lg)!important;box-shadow:var(--tj-shadow)!important}html body .action-modal :is(.action-modal-body,.message-conversation,.message-empty,.message-composer,.message-search,.message-choose-conversation,.action-modal-head,header){background:transparent!important;color:inherit!important}html body .action-modal .message-inbox{background:var(--tj-bg)!important;border-color:var(--tj-line)!important}html body .action-modal :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){background:var(--tj-bg)!important;color:var(--tj-text)!important;-webkit-text-fill-color:var(--tj-text)!important;border:1px solid var(--tj-line-strong)!important;border-radius:var(--tj-radius-sm)!important}html body .action-modal :is(input,textarea)::placeholder{color:var(--tj-muted)!important;-webkit-text-fill-color:var(--tj-muted)!important;opacity:1}html body .action-modal :is(h2,h3,b,strong,label){color:var(--tj-text)}html body .action-modal :is(p,small,span){color:inherit}html body .action-modal .modal-close-visible{background:var(--tj-surface-2)!important;color:var(--tj-text)!important;border:1px solid var(--tj-line-strong)!important}@media (min-width:761px){html body .action-modal .message-mail-layout{display:grid!important;grid-template-columns:minmax(260px,320px) minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important}html body .action-modal .message-mail-layout>.online-network-strip{grid-column:1!important;grid-row:1!important;border-bottom:1px solid var(--tj-line)}html body .action-modal .message-mail-layout>.message-inbox{grid-column:1!important;grid-row:2!important;width:auto!important;min-width:0!important;border-inline-end:1px solid var(--tj-line)!important}html body .action-modal .message-mail-layout>.message-conversation{grid-column:2!important;grid-row:1/span 2!important;min-width:0!important}}html body .action-modal .message-inbox-back{background:var(--tj-surface-2)!important;color:var(--tj-text)!important}html body .action-modal .message-composer{grid-template-columns:minmax(0,1fr) auto!important;gap:var(--tj-space-2)!important;padding:var(--tj-space-3)!important;border-top:1px solid var(--tj-line)!important}html body .action-modal :is(.message-composer) textarea{grid-column:1/-1;width:100%;height:auto!important;min-height:96px!important;max-height:40vh!important;padding:12px 14px!important;border-radius:var(--tj-radius)!important;font-size:16px!important;line-height:1.5!important;resize:vertical!important;overflow-y:auto}html body .action-modal .message-composer>.message-attach-label{align-self:center;color:var(--tj-text-2)!important;font-size:var(--tj-text-sm)}@media (max-width:700px){html body .action-modal :is(.message-composer) textarea{min-height:84px!important;max-height:32vh!important}}.app-shell .content[data-view=tools] .panel-practice{display:grid!important}.app-shell .content[data-view=tools] .tool-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;gap:var(--tj-space-4)!important;max-width:1180px}.app-shell .content[data-view=tools] .tool-grid>.recorder{display:none!important}.app-shell .content .tools-page-head{display:flex!important;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--tj-space-3)}.app-shell .content .tools-page-head>div{display:grid;gap:4px}.app-shell .content .tools-page-head>div>span{color:var(--tj-text-2);font-size:var(--tj-text-md)}.app-shell .content .tools-page-head .tools-back{min-height:44px;padding:0 18px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:var(--tj-surface-3);color:var(--tj-text);font-weight:650;cursor:pointer}.app-shell .content .tools-page-head .tools-back:hover{border-color:var(--tj-lime)}[dir=rtl] .app-shell .content .tools-page-head .tools-back{direction:rtl}.app-shell .content #notice-editor{scroll-margin-top:96px}.app-shell .content #notice-editor:focus{outline:none}.app-shell .content .announcement-composer.is-editing{border-color:var(--tj-lime)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tj-lime) 25%,transparent)!important}.app-shell .content .announcement-feed>header{gap:var(--tj-space-3)}.app-shell .content .announcement-feed>header>div{flex:1 1;min-width:0}.app-shell .content .announcement-new{min-height:40px;padding:0 16px;border:1px solid var(--tj-lime);border-radius:var(--tj-radius-pill);background:transparent;color:var(--tj-lime);font-weight:650;white-space:nowrap;cursor:pointer}.app-shell .content .announcement-new:hover{background:var(--tj-lime);color:var(--tj-on-lime)}.app-shell .content .assignment-info-files{display:grid;gap:var(--tj-space-2);margin-top:var(--tj-space-2);padding-top:var(--tj-space-2);border-top:1px solid var(--tj-line)}.app-shell .content .assignment-info-files h4{margin:0;color:var(--tj-text);font-size:var(--tj-text-sm);font-weight:650}.app-shell .content .assignment-info-files p{color:var(--tj-text-2);font-size:var(--tj-text-sm)}.app-shell .content .assignment-info-files p button{margin-inline-start:6px;min-height:32px;padding:0 12px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:var(--tj-surface-3);color:var(--tj-text)}.app-shell .content .assignment-info-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:var(--tj-space-2)}.app-shell .content .assignment-info-file{display:grid;gap:6px;margin:0;padding:8px;border:1px solid var(--tj-line);border-radius:var(--tj-radius-sm);background:var(--tj-bg);color:var(--tj-text);text-decoration:none;min-width:0}.app-shell .content .assignment-info-file :is(span,figcaption){font-size:var(--tj-text-xs);color:var(--tj-text-2);overflow-wrap:anywhere}.app-shell .content .assignment-info-file img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.app-shell .content .assignment-info-file :is(audio,video){width:100%;max-height:200px}.app-shell .content .assignment-info-file-link{align-content:center;min-height:56px}.app-shell .content a.assignment-info-file:hover{border-color:var(--tj-lime)}.app-shell .content .lesson-start-card{display:grid;gap:var(--tj-space-4);padding:var(--tj-space-5);border:1px solid var(--tj-line);border-radius:var(--tj-radius-lg);background:var(--tj-surface);color:var(--tj-text)}.app-shell .content .lesson-start-copy{display:grid;gap:4px}.app-shell .content .lesson-start-copy small{color:var(--tj-lime);font-size:var(--tj-text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-shell .content .lesson-start-copy h3{margin:0;color:var(--tj-text);font-size:var(--tj-text-lg);font-weight:650}.app-shell .content .lesson-start-pickers{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:var(--tj-space-3)}.app-shell .content .lesson-start-pickers label{display:grid;gap:6px;color:var(--tj-text-2);font-size:var(--tj-text-sm);font-weight:600}.app-shell .content .lesson-start-pickers select{width:100%;min-width:0;min-height:44px;padding:0 12px}.app-shell .content .lesson-start-or{align-self:center;padding-top:22px;color:var(--tj-muted);font-size:var(--tj-text-sm)}.app-shell .content .lesson-start-pickers .primary-action{min-height:44px;padding:0 20px;white-space:nowrap}.app-shell .content .lesson-start-pickers .primary-action:disabled{opacity:.5;cursor:not-allowed}.app-shell .content .lesson-start-students{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tj-space-2);padding-top:var(--tj-space-4);border-top:1px solid var(--tj-line)}.app-shell .content .lesson-start-students>span{margin-inline-end:4px;color:var(--tj-text-2);font-size:var(--tj-text-sm)}.app-shell .content .lesson-start-students button{min-height:40px;padding:0 16px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:var(--tj-surface-3);color:var(--tj-text);font-size:var(--tj-text-sm);font-weight:650;cursor:pointer}.app-shell .content .lesson-start-students button:hover:not(:disabled){border-color:var(--tj-lime)}.app-shell .content .lesson-start-students button:disabled{opacity:.6;cursor:wait}.app-shell .content .lesson-start-link{display:grid;gap:6px}.app-shell .content .lesson-start-link input{width:100%;min-height:44px;padding:0 12px;direction:ltr}.app-shell .content .lesson-start-link small{color:var(--tj-text-2);font-size:var(--tj-text-xs)}@media (max-width:760px){.app-shell .content .lesson-start-card{padding:var(--tj-space-4)}.app-shell .content .lesson-start-pickers{grid-template-columns:minmax(0,1fr)}.app-shell .content .lesson-start-or{padding-top:0;text-align:center}.app-shell .content .lesson-start-students button{flex:1 1 auto}}.app-shell .content .practice-checklist-editor .checklist-edit-row textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:76px;padding:12px 14px;font-size:16px!important;line-height:1.5!important;white-space:pre-wrap;overflow-wrap:anywhere;resize:vertical;overflow-y:auto}.app-shell .content .practice-checklist-editor .checklist-edit-row textarea:disabled{opacity:.7}@media (max-width:520px){.app-shell .content .practice-checklist-editor .checklist-edit-row textarea{padding:10px;min-height:96px}}.app-shell .content .lesson-status{display:inline-flex!important;align-items:center;padding:4px 12px!important;border:1px solid color-mix(in srgb,var(--tj-success) 55%,transparent)!important;border-radius:var(--tj-radius-pill)!important;background:var(--tj-success-tint)!important;color:var(--tj-success)!important;font-size:12px!important;font-weight:650!important;letter-spacing:.02em!important;outline:0!important}@media (max-width:700px){.app-shell .content .lesson-card-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.app-shell .content .lesson-card-facts>div:first-child:nth-last-child(4){grid-column:1/-1}}html body .role-choice-card>small{font-size:12px!important;letter-spacing:.08em}html body .role-choice-card>h2{font-size:clamp(24px,4vw,30px)!important;font-weight:700!important;letter-spacing:-.02em}html body .role-choice-card>p{font-size:15px!important;line-height:1.5;color:var(--tj-ink-2)!important}html body .login-role-buttons a{min-height:68px}html body .login-role-buttons b{font-size:15px!important;font-weight:650!important;letter-spacing:0!important;text-transform:none}html body .login-role-buttons small{line-height:1.4!important}html body .login-role-buttons small,html body .role-choice-card>em{font-size:13px!important;color:var(--tj-ink-2)!important}@media (max-width:760px){html body .login-screen:not(.role-login-screen) .login-brand-panel{min-height:0!important;padding:20px 20px 16px!important}html body .login-screen:not(.role-login-screen) .login-brand-panel .auth-benefits{display:none!important}html body .login-screen:not(.role-login-screen) .login-brand-panel .auth-brand-logo img{max-height:40px;width:auto}html body .login-screen:not(.role-login-screen) .login-brand-panel h1{font-size:28px!important;margin:12px 0 4px!important}html body .login-screen:not(.role-login-screen) .login-brand-panel p{font-size:14px!important;margin:0!important}}.marketing-site :is(h1,h2,h3){font-family:var(--tj-font-display);font-weight:700!important;letter-spacing:-.03em}.chord-board{display:grid;gap:var(--tj-space-5);margin:var(--tj-space-6) 0}.chord-board>h2{margin:0}.chord-board-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:var(--tj-space-3)}.chord-card{display:grid;gap:var(--tj-space-2);align-content:start;padding:var(--tj-space-4);border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-surface);min-width:0}.chord-card header{display:flex;align-items:center;justify-content:space-between;gap:var(--tj-space-2)}.chord-card h3{margin:0;font-size:var(--tj-text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--tj-text)}.chord-card-meta,.chord-card-notes{margin:0;color:var(--tj-text-2);font-size:var(--tj-text-sm)}.chord-card-notes bdi{color:var(--tj-text);font-weight:600}.chord-play,.chord-progression-play{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid var(--tj-lime);border-radius:var(--tj-radius-pill);background:var(--tj-lime);color:var(--tj-on-lime);font:inherit;font-size:var(--tj-text-sm);font-weight:700;cursor:pointer}.chord-play:hover,.chord-progression-play:hover{background:var(--tj-lime-strong);border-color:var(--tj-lime-strong)}.chord-progression-play[aria-pressed=true]{background:var(--tj-surface-3);border-color:var(--tj-line-strong);color:var(--tj-text)}.chord-card-visuals{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:var(--tj-space-3)}.chord-diagram,.staff-diagram{width:100%;height:auto;max-height:220px}.chord-diagram-line{stroke:var(--tj-muted);stroke-width:1.2}.chord-diagram-dot{fill:var(--tj-lime)}.chord-diagram-open{fill:none;stroke:var(--tj-text);stroke-width:1.6}.chord-diagram-fret,.chord-diagram-mark,.chord-diagram-string{fill:var(--tj-text-2);font-size:12px;font-family:var(--tj-font)}.chord-diagram-mark{font-size:15px}.chord-diagram-missing{color:var(--tj-muted);font-size:var(--tj-text-sm)}.piano-diagram{grid-column:1/-1;margin:0;display:grid;gap:4px}.piano-diagram svg{width:100%;height:auto}.piano-diagram figcaption{color:var(--tj-text-2);font-size:var(--tj-text-xs)}.piano-diagram~.staff-diagram{grid-column:1/-1;justify-self:start;max-width:200px}.piano-key.white{fill:var(--tj-paper);stroke:var(--tj-line-strong);stroke-width:.8}.piano-key.black{fill:var(--tj-ink)}.piano-key.lit{fill:var(--tj-lime)}.piano-key.black.lit{fill:var(--tj-lime-strong)}.staff-line{stroke:var(--tj-muted);stroke-width:1}.staff-clef{fill:none;stroke:var(--tj-text-2);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.staff-accidental,.staff-note{fill:var(--tj-text)}.staff-accidental{font-size:15px}.chord-progression{display:grid;gap:var(--tj-space-3);padding:var(--tj-space-4);border:1px solid var(--tj-line);border-radius:var(--tj-radius-lg);background:var(--tj-bg)}.chord-progression-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-inline-start:2px solid var(--tj-line-strong)}.chord-bar{display:grid;gap:4px;min-height:72px;padding:8px 12px;border-inline-end:2px solid var(--tj-line-strong);border-block:1px solid var(--tj-line);transition:background .12s}.chord-bar small{color:var(--tj-muted);font-size:11px}.chord-bar div{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.chord-bar b{color:var(--tj-text);font-size:var(--tj-text-xl);font-weight:700}.chord-bar.active{background:var(--tj-violet-tint)}.chord-bar.active b{color:var(--tj-lime)}.chord-progression-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tj-space-3) var(--tj-space-4)}.chord-progression-controls label{display:inline-flex;align-items:center;gap:8px;color:var(--tj-text-2);font-size:var(--tj-text-sm)}.chord-progression-controls input[type=range]{width:140px;accent-color:var(--tj-lime)}.chord-progression-controls output{min-width:64px;color:var(--tj-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chord-check input{width:18px;height:18px;accent-color:var(--tj-lime)}.chord-board-error{margin:0;color:var(--tj-danger)}.lesson-key-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:var(--tj-space-2)}.lesson-key-grid a{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-surface);color:var(--tj-text);text-decoration:none}.lesson-key-grid a:hover{border-color:var(--tj-lime)}.lesson-key-grid span{color:var(--tj-text-2);font-size:var(--tj-text-xs)}.lesson-topic-list{display:grid;gap:var(--tj-space-2);margin:0;padding:0;list-style:none}.lesson-topic-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--tj-space-2) var(--tj-space-4);padding:12px 16px;border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-surface)}.lesson-topic-list li>div{display:grid;gap:2px}.lesson-topic-list li span{color:var(--tj-text-2);font-size:var(--tj-text-sm)}.lesson-topic-list nav{display:flex;flex-wrap:wrap;gap:8px}.lesson-topic-list nav a{min-height:36px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);color:var(--tj-text);text-decoration:none;font-size:var(--tj-text-sm)}.lesson-topic-list nav a:hover{border-color:var(--tj-lime);color:var(--tj-lime)}.lesson-level-band{margin-top:var(--tj-space-6)}.lesson-next-prev{display:grid;grid-template-columns:1fr 1fr;gap:var(--tj-space-3);margin:var(--tj-space-6) 0}.lesson-next-prev a{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-surface);color:var(--tj-text);text-decoration:none}.lesson-next-prev a:last-child{text-align:end}.lesson-next-prev a:hover{border-color:var(--tj-lime)}.lesson-next-prev small{color:var(--tj-muted);font-size:var(--tj-text-xs)}@media (max-width:600px){.chord-progression-bars{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-next-prev{grid-template-columns:1fr}.lesson-next-prev a:last-child{text-align:start}}.app-setup-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--tj-space-4);background:color-mix(in srgb,var(--tj-bg) 70%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-setup{width:min(100%,480px);max-height:calc(100dvh - 32px);overflow-y:auto;display:grid;gap:var(--tj-space-4);padding:var(--tj-space-5);border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-lg);background:var(--tj-surface);color:var(--tj-text);box-shadow:var(--tj-shadow)}.app-setup>header{display:flex;gap:var(--tj-space-3);align-items:center}.app-setup>header img{flex:none;border-radius:var(--tj-radius)}.app-setup h2{margin:0;font-size:var(--tj-text-xl);font-weight:700;letter-spacing:-.01em}.app-setup>header p{margin:4px 0 0;color:var(--tj-text-2);font-size:var(--tj-text-sm)}.app-setup-steps{display:flex;flex-direction:column;gap:var(--tj-space-3);margin:0;padding:0;list-style:none}.app-setup-steps.install-first{flex-direction:column-reverse}.app-setup-steps>li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--tj-space-3);padding:var(--tj-space-4);border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-bg)}.app-setup-steps>li.done{border-color:color-mix(in srgb,var(--tj-success) 55%,transparent)}.app-setup-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tj-violet-tint);color:var(--tj-lime);font-size:18px;font-weight:700}.app-setup-steps>li.done .app-setup-icon{background:var(--tj-success-tint);color:var(--tj-success)}.app-setup h3{margin:0 0 4px;font-size:var(--tj-text-md);font-weight:650}.app-setup-steps p{margin:0 0 var(--tj-space-3);color:var(--tj-text-2);font-size:var(--tj-text-sm);line-height:1.45}.app-setup-status{color:var(--tj-success)!important;font-weight:600;margin-bottom:0!important}.app-setup-note{color:var(--tj-text)!important;margin-bottom:0!important}.app-setup-primary{width:100%;min-height:48px;border:0;border-radius:var(--tj-radius-pill);background:var(--tj-lime);color:var(--tj-on-lime);font:inherit;font-size:var(--tj-text-md);font-weight:700;cursor:pointer}.app-setup-primary:hover{background:var(--tj-lime-strong)}.app-setup-primary:disabled{opacity:.6;cursor:wait}.app-setup-ios{display:grid;gap:6px;margin:0 0 var(--tj-space-2);padding-inline-start:20px;color:var(--tj-text);font-size:var(--tj-text-sm);font-weight:600}.app-setup-ios li{list-style:decimal}.app-setup-ios svg{display:inline-block;margin-inline-end:4px}.app-setup>footer{display:flex;justify-content:flex-end}.app-setup-secondary{min-height:44px;padding:0 18px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:transparent;color:var(--tj-text);font:inherit;font-weight:600;cursor:pointer}@media (max-width:520px){.app-setup-backdrop{place-items:end stretch;padding:0}.app-setup{width:100%;max-height:92dvh;border-radius:var(--tj-radius-lg) var(--tj-radius-lg) 0 0;padding:var(--tj-space-4) var(--tj-space-4) calc(var(--tj-space-4) + env(safe-area-inset-bottom))}.app-setup>footer button{width:100%}}.tester-settings{display:grid;gap:var(--tj-space-2);margin-top:var(--tj-space-4);padding:var(--tj-space-4);border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-bg)}.tester-settings h3{margin:0;font-size:var(--tj-text-md)}.tester-settings form{display:grid;gap:var(--tj-space-2)}.tester-settings p{margin:0;color:var(--tj-text-2);font-size:var(--tj-text-sm)}.tester-settings label{display:grid;gap:4px;font-size:var(--tj-text-sm)}.tester-settings input{min-height:44px;padding:0 12px;letter-spacing:.04em}.tester-settings button{min-height:44px;padding:0 16px;border:1px solid var(--tj-lime);border-radius:var(--tj-radius-pill);background:var(--tj-lime);color:var(--tj-on-lime);font:inherit;font-weight:700;cursor:pointer}.tester-settings button:disabled{opacity:.55;cursor:not-allowed}.tester-settings .tester-settings-setup{background:transparent;border-color:var(--tj-line-strong);color:var(--tj-text);font-weight:600}.tester-settings-active{display:grid;gap:2px}.tester-settings-active b{color:var(--tj-success)}.tester-settings-error{color:var(--tj-danger)!important}html body .role-choice-card .role-choice-notes{margin:4px 0 0;font-size:13px!important;line-height:1.5;color:var(--tj-ink-2)!important}html body .role-choice-card .role-choice-notes a{color:inherit;text-decoration:underline}.billing-page{min-height:100vh;max-width:640px;margin:0 auto;padding:var(--tj-space-5) var(--tj-space-4) var(--tj-space-6);display:grid;gap:var(--tj-space-4);align-content:start;background:var(--tj-bg);color:var(--tj-text);font-family:var(--tj-font)}body:has(.billing-page){background:var(--tj-bg)}.billing-head{display:grid;gap:var(--tj-space-2)}.billing-head a{color:var(--tj-text-2);text-decoration:none;font-size:var(--tj-text-sm)}.billing-head h1{margin:0;font-size:var(--tj-text-2xl);font-weight:700;letter-spacing:-.02em}.billing-card{display:grid;gap:var(--tj-space-3);padding:var(--tj-space-5);border:1px solid var(--tj-line);border-radius:var(--tj-radius-lg);background:var(--tj-surface)}.billing-card h2{margin:0;font-size:var(--tj-text-xl)}.billing-card h3{margin:0;font-size:var(--tj-text-md)}.billing-card p{margin:0;color:var(--tj-text-2);line-height:1.5}.billing-card ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;color:var(--tj-text)}.billing-current h2{color:var(--tj-lime)}.billing-interval{display:grid;grid-template-columns:1fr 1fr;gap:var(--tj-space-2)}.billing-interval button{min-height:48px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius);background:var(--tj-bg);color:var(--tj-text);font:inherit;font-weight:650;cursor:pointer}.billing-interval button small{display:block;color:var(--tj-success);font-weight:600;font-size:var(--tj-text-xs)}.billing-interval button.active{border-color:var(--tj-lime);box-shadow:0 0 0 1px var(--tj-lime)}.billing-interval button{display:grid;gap:2px;justify-items:start;padding:var(--tj-space-3) var(--tj-space-4);text-align:start}.billing-interval button>span{font-weight:600}.billing-interval button>b{font-size:var(--tj-text-xl);font-stretch:86%;color:var(--tj-text)}.billing-interval button>b small{display:inline;color:var(--tj-muted);font-weight:500;font-size:var(--tj-text-sm)}.billing-interval button small.billing-saving{color:var(--tj-success)}.billing-coupon .tester-settings{border:0;padding:0;margin:0;background:none}.billing-coupon .tester-settings form{display:grid;gap:var(--tj-space-3)}.billing-coupon .tester-settings label{display:grid;gap:6px;color:var(--tj-text-2);font-size:var(--tj-text-sm);font-weight:600}.billing-coupon .tester-settings input{min-height:48px;padding:0 14px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius);background:var(--tj-surface-2);color:var(--tj-text);font:inherit;font-size:var(--tj-text-md);letter-spacing:.04em}.billing-coupon .tester-settings input:focus{outline:none;border-color:var(--tj-violet-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--tj-violet) 30%,transparent)}.billing-students{display:grid;gap:6px}.billing-students>span{font-weight:650}.billing-students small{color:var(--tj-text-2)}.billing-stepper{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius);overflow:hidden}.billing-stepper button{min-height:48px;border:0;background:var(--tj-surface-3);color:var(--tj-text);font-size:20px;cursor:pointer}.billing-stepper button:disabled{opacity:.4;cursor:not-allowed}.billing-stepper output{text-align:center;font-weight:650}.billing-price{font-size:var(--tj-text-lg)!important;color:var(--tj-text)!important}.billing-price b{font-size:var(--tj-text-3xl);letter-spacing:-.02em}.billing-primary{min-height:52px;border:0;border-radius:var(--tj-radius-pill);background:var(--tj-lime);color:var(--tj-on-lime);font:inherit;font-size:var(--tj-text-md);font-weight:700;cursor:pointer}.billing-primary:disabled{opacity:.55;cursor:not-allowed}.billing-secondary{justify-self:start;min-height:44px;padding:0 18px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:transparent;color:var(--tj-text);font:inherit;cursor:pointer}.billing-small{font-size:var(--tj-text-sm)!important}.billing-notice{margin:0;padding:var(--tj-space-3) var(--tj-space-4);border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius);background:var(--tj-surface-2)}.billing-notice.good{border-color:var(--tj-success);color:var(--tj-success)}.billing-error{margin:0;color:var(--tj-danger)!important}.tester-settings .tester-settings-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);color:var(--tj-text);text-decoration:none;font-weight:600}.pricing-site .marketing-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}.pricing-hero{min-height:0!important;padding-bottom:80px!important}.pricing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--tj-space-5);align-items:stretch}.pricing-group{padding-top:56px!important;padding-bottom:16px!important}.pricing-group>h2{margin:0 0 var(--tj-space-4);font-size:var(--tj-text-2xl)}.pricing-amount s{color:var(--tj-muted);font-size:var(--tj-text-lg);margin-inline-end:4px}.pricing-card{display:flex;flex-direction:column;gap:var(--tj-space-3);padding:var(--tj-space-6);border:1px solid var(--tj-paper-line);border-radius:var(--tj-radius-lg);background:var(--tj-card-light);color:var(--tj-ink);box-shadow:0 18px 40px color-mix(in srgb,var(--tj-ink) 12%,transparent)}.pricing-card.featured{border:2px solid var(--tj-violet);background:var(--tj-bg);color:var(--tj-text)}.pricing-card h3{margin:0;font-size:var(--tj-text-xl);font-weight:700}.pricing-card.featured h3{color:var(--tj-lime)}.pricing-amount{margin:0;display:flex;align-items:baseline;gap:6px}.pricing-amount b{font-size:52px;line-height:1;font-weight:700;letter-spacing:-.03em}.pricing-amount span{color:var(--tj-ink-2);font-size:var(--tj-text-md)}.pricing-card.featured .pricing-alt,.pricing-card.featured .pricing-amount span,.pricing-card.featured small{color:var(--tj-text-2)}.pricing-alt{margin:0;color:var(--tj-ink-2)}.pricing-card ul{display:grid;gap:10px;margin:var(--tj-space-2) 0;padding:0;list-style:none;font-size:var(--tj-text-md);line-height:1.4}.pricing-extra{margin:0;padding:var(--tj-space-3);border-radius:var(--tj-radius);background:var(--tj-violet-tint);color:var(--tj-text);font-weight:600}.pricing-site .pricing-cta{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border-radius:var(--tj-radius-pill);background:var(--tj-lime);color:var(--tj-on-lime);font-weight:700;text-decoration:none}.pricing-site .pricing-cta.secondary{background:var(--tj-ink);color:var(--tj-paper)}.pricing-card small{color:var(--tj-ink-2);text-align:center}.pricing-faq h2,.pricing-table-section h2{margin:0 0 var(--tj-space-4);font-size:var(--tj-text-2xl)}.pricing-table-section{padding-top:40px!important;padding-bottom:40px!important}.pricing-table-wrap{overflow-x:auto}.pricing-table{width:100%;max-width:720px;border-collapse:collapse;background:var(--tj-card-light);border-radius:var(--tj-radius);overflow:hidden;font-size:var(--tj-text-md)}.pricing-table :is(th,td){padding:14px 18px;border-bottom:1px solid var(--tj-paper-line);text-align:start}.pricing-table thead th{background:var(--tj-paper-2);font-size:var(--tj-text-sm);text-transform:uppercase;letter-spacing:.06em}.pricing-table td bdi{font-weight:700}.pricing-musicians{margin:var(--tj-space-3) 0 0;color:var(--tj-ink-2)}.pricing-faq{padding-top:40px!important}.pricing-faq details{max-width:820px;padding:16px 0;border-bottom:1px solid var(--tj-paper-line)}.pricing-faq summary{cursor:pointer;font-weight:650;font-size:var(--tj-text-md)}.pricing-faq details p{margin:10px 0 0;color:var(--tj-ink-2);line-height:1.6}.pricing-legal{margin-top:var(--tj-space-5);color:var(--tj-ink-2)}.pricing-legal a{color:inherit}@media (max-width:700px){.pricing-group{padding-top:40px!important}.pricing-card{padding:var(--tj-space-5)}.pricing-amount b{font-size:44px}}.legal-page article h3{margin:var(--tj-space-5) 0 var(--tj-space-1);font-size:var(--tj-text-md);font-weight:700;letter-spacing:-.01em}.legal-page article h2[id],.legal-page article h3[id]{scroll-margin-top:24px}html body .app-shell[data-premium=false] .app-menu-grid :is([data-route=practice],[data-route=tools],[data-route=charts]) b:after,html body .app-shell[data-premium=false] .drawer-chord-charts span:after,html body .app-shell[data-premium=false] :is([data-route=practice],[data-route=tools]) .nav-label:after{content:"🔒";margin-inline-start:6px;font-size:.8em}html body .app-shell[data-premium=false] .assignment-practice-actions,html body .app-shell[data-premium=false] .content[data-role][data-view] .panel-practice{display:none!important}.premium-gate-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:var(--tj-space-4);background:color-mix(in srgb,var(--tj-bg) 72%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.premium-gate-backdrop.standalone{position:static;min-height:100vh;background:var(--tj-bg)}.premium-gate{width:min(100%,440px);display:grid;gap:var(--tj-space-3);padding:var(--tj-space-5);border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-lg);background:var(--tj-surface);color:var(--tj-text);box-shadow:var(--tj-shadow);text-align:center;font-family:var(--tj-font)}.premium-gate-icon{justify-self:center;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--tj-violet-tint);font-size:24px}.premium-gate h2{margin:0;font-size:var(--tj-text-xl);font-weight:700}.premium-gate p{margin:0;color:var(--tj-text-2);line-height:1.5}.premium-gate-actions{display:grid;gap:var(--tj-space-2);margin-top:var(--tj-space-2)}.premium-gate-primary{display:flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:var(--tj-radius-pill);background:var(--tj-lime);color:var(--tj-on-lime);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.premium-gate-secondary{min-height:44px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:transparent;color:var(--tj-text);font:inherit;cursor:pointer}.billing-price s{margin-inline-end:6px;color:var(--tj-muted);font-size:var(--tj-text-lg)}.billing-launch{margin:0;padding:8px 12px;border-radius:var(--tj-radius);background:var(--tj-success-tint);color:var(--tj-success)!important;font-weight:600;font-size:var(--tj-text-sm)}html body{font-family:var(--tj-font);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html body .app-shell :is(h1,h2,h3,h4){font-family:var(--tj-font-display);font-stretch:86%;font-weight:600;letter-spacing:-.012em}html body .app-shell .content>header h1{font-size:22px!important;font-weight:600!important;font-stretch:86%;letter-spacing:-.015em}html body .app-shell .content :is(small,.nav-group-title){letter-spacing:.01em}html body .app-shell,html body .app-shell .content,html body .app-shell .content[data-view]{background:var(--tj-bg)!important;background-image:none!important}html body .app-shell .content>header{position:sticky;top:0;z-index:20;min-height:56px;padding-block:10px!important;background:color-mix(in srgb,var(--tj-bg) 82%,transparent)!important;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--tj-line)!important;box-shadow:none!important}html body .app-shell .content :is(.today-card,.today-stats>*,.teacher-student-row,.lesson-row,.teacher-assignment-row,.student-assignment-card,.submission-student-list>button,.recording-project,.recording-project-detail,.notification-list>article,.feature-workbench,.class-card,.announcement-composer,.announcement-feed,.teacher-invite-card,.lesson-start-card,.tester-settings,.product-empty,.workspace-intro,.recordings-library-head,.teacher-list-head,.assignment-list-heading,.assignment-brief,.assignment-resources,.assignment-steps,.full-assignment-details,.submission-assignment-summary,.student-grade-card,.assignment-grade-panel,.community-composer,.community-post,.tool-grid>article){background:var(--tj-surface)!important;background-image:none!important;border:1px solid var(--tj-line)!important;border-radius:16px!important;box-shadow:none!important;color:var(--tj-text)!important}html body .app-shell .content :is(.teacher-student-row,.lesson-row,.teacher-assignment-row,.student-assignment-card,.submission-student-list>button,.recording-project):hover{transform:none!important;border-color:var(--tj-line-strong)!important}html body .app-shell .content .product-empty{border-style:dashed!important;background:transparent!important}html body .app-shell .content :is(.teacher-student-row,.lesson-row,.teacher-assignment-row,.student-assignment-card,.recording-project) :is(small,p,span){color:var(--tj-text-2)!important}html body .app-shell .content :is(.teacher-student-row,.lesson-row,.teacher-assignment-row,.student-assignment-card,.recording-project) :is(b,h3,strong){color:var(--tj-text)!important;font-weight:600}html body .app-shell .content :is(.page-actions,.student-quick-actions,.workbench-actions) .primary-action,html body .app-shell :is(.primary-action,.today-primary,.app-setup-primary,.premium-gate-primary,.billing-primary,.chord-progression-play,.tester-settings button[type=submit]){background:var(--tj-violet)!important;border:1px solid var(--tj-violet)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;font-weight:600!important}html body .app-shell :is(.primary-action,.today-primary,.app-setup-primary,.premium-gate-primary,.billing-primary):hover{background:var(--tj-violet-strong)!important;border-color:var(--tj-violet-strong)!important}html body .app-shell .content :is(.student-quick-actions,.lesson-row-actions,.assignment-row-actions,.recording-project-actions,.page-actions,.class-card-actions,.today-row-actions) button:not(.primary-action),html body .app-shell .content :is(.workspace-refresh,.today-link,.announcement-new,.lesson-start-students button){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;box-shadow:none!important;border-radius:var(--tj-radius-pill)!important}html body .app-shell .content .today-link{background:transparent!important;border:0!important;color:var(--tj-violet-soft)!important;padding:0!important}html body .app-shell .content :is(.lesson-cancel,.assignment-cancel,.project-delete,.studio-delete){background:transparent!important;border-color:color-mix(in srgb,var(--tj-danger) 55%,transparent)!important;color:var(--tj-danger)!important}html body .app-shell .content .status-good{background:color-mix(in srgb,var(--tj-lime) 16%,transparent)!important;border:1px solid color-mix(in srgb,var(--tj-lime) 40%,transparent)!important;color:var(--tj-lime-soft)!important;box-shadow:none!important}html body .app-shell .content .status-warn{background:color-mix(in srgb,var(--tj-warning) 14%,transparent)!important;border:1px solid color-mix(in srgb,var(--tj-warning) 40%,transparent)!important;color:var(--tj-warning)!important}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--tj-violet-soft)!important;outline-offset:2px!important}html body .app-shell .content :is(input,select,textarea):focus{border-color:var(--tj-violet-soft)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tj-violet) 30%,transparent)!important}html body .app-shell .content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea){background-color:var(--tj-surface-2)!important;border-color:var(--tj-line)!important;border-radius:10px!important}html body .app-shell.app-shell .sidebar.sidebar{background:var(--tj-bg)!important;background-image:none!important;border-inline-end:1px solid var(--tj-line)!important;box-shadow:none!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button{position:relative;color:var(--tj-text-2)!important;font-weight:500!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button em{color:var(--tj-muted)!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active{background:var(--tj-surface-2)!important;box-shadow:none!important;color:var(--tj-text)!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active em{color:var(--tj-lime-soft)!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active:before{content:"";position:absolute;width:10px;height:14px;background:linear-gradient(var(--tj-lime),var(--tj-lime)) 0 100%/2px 50% no-repeat,linear-gradient(var(--tj-lime),var(--tj-lime)) 4px 100%/2px 100% no-repeat,linear-gradient(var(--tj-lime-soft),var(--tj-lime-soft)) 8px 100%/2px 72% no-repeat}@media (min-width:1051px){html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button{padding-inline-start:26px!important;min-height:38px!important;border-radius:10px!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active:before{inset-inline-start:9px;top:calc(50% - 7px)}html body .app-shell.app-shell .sidebar.sidebar .nav-group-title{color:var(--tj-subtle)!important;font-weight:500!important;font-size:12px!important;text-transform:none!important}}@media (min-width:701px) and (max-width:1050px){html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active:before{left:calc(50% - 5px);top:3px;height:8px}}@media (max-width:700px){html body .app-shell.app-shell .sidebar.sidebar{background:color-mix(in srgb,var(--tj-bg) 84%,transparent)!important;backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border:0!important;border-top:1px solid var(--tj-line)!important;box-shadow:none!important}html body .app-shell.app-shell .sidebar.sidebar:after,html body .app-shell.app-shell .sidebar.sidebar:before{display:none!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button{background:transparent!important;box-shadow:none!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active{background:transparent!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active:before{left:calc(50% - 5px);top:2px;height:8px}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button .nav-label{font-weight:500!important;font-size:11px!important;letter-spacing:0!important}}html body .app-shell .content .today-greeting{font-family:var(--tj-font-display);font-stretch:86%;font-size:clamp(26px,3.4vw,34px)!important;font-weight:600!important;letter-spacing:-.02em!important}html body .app-shell .content .today-date{color:var(--tj-muted)!important;font-size:14px!important}html body .app-shell .content .today-stats>* b,html body .app-shell .content .today-stats>* strong{font-family:var(--tj-font-display);font-stretch:86%;font-weight:600}@media (prefers-reduced-motion:reduce){html body .app-shell *{transition:none!important;animation:none!important}}html body .app-shell :is(.announcement-form-actions .primary-action,.class-create .primary-action,.class-list-toolbar>button.primary-action,.class-card .primary-action,.calendar-add-lesson,.new-assessment-action,.group-publish-summary button,.teacher-invite-action,.student-top-actions .primary-action,.workspace-intro-actions button,.project-detail-actions .primary-action,.recording-project-actions .primary-action,.recorder-submit-action,.community-composer>button,.community-compose-toggle,.community-comment-composer button,.community-page-actions .primary-action,.community-post-editor .primary-action,.community-create-record,.community-empty>button,.community-challenge button,.marketplace-form-actions .primary-action,.marketplace-hero>button,.marketplace-empty button,.music-news-empty button,.recordings-empty button,.product-empty button,.match-copy button,.jam-room .jam-save,.overdub-sync-cue button,.community-post-actions .lets-jam){background:var(--tj-violet)!important;border:1px solid var(--tj-violet)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;border-radius:var(--tj-radius-pill)!important;font-weight:600!important}html body .app-shell .content :is(.recorder-submit-action,.community-post-actions .lets-jam) *{color:#fff!important;-webkit-text-fill-color:#fff!important}html body .app-shell .student-top-actions button:not(.primary-action){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;border-radius:var(--tj-radius-pill)!important}html body .app-shell .content :is(.assignment-status-tabs button.active,.community-filter-bar button.active,.community-view-tabs button.active,.bazaar-shortcuts button[aria-pressed=true],.billing-interval button.active){background:var(--tj-surface-3)!important;color:var(--tj-text)!important;border-color:var(--tj-line-strong)!important;box-shadow:inset 0 -2px 0 var(--tj-lime)!important}html body .app-shell .content :is(.assignment-status-tabs,.community-filter-bar,.community-view-tabs) button:not(.active){background:transparent!important;color:var(--tj-text-2)!important}html body .app-shell .content .teacher-invite-card .teacher-invite-mark{background:var(--tj-violet-tint)!important;border:0!important;color:var(--tj-violet-soft)!important;box-shadow:none!important}html body .app-shell .content .teacher-invite-card small{color:var(--tj-muted)!important;letter-spacing:.04em}html body .app-shell .content .teacher-invite-steps{background:var(--tj-bg)!important;border:1px solid var(--tj-line)!important}html body .app-shell .content .teacher-invite-steps b{background:var(--tj-surface-3)!important;color:var(--tj-lime-soft)!important;border:0!important}html body .app-shell .content .student-identity>span{background:var(--tj-surface-3)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text-2)!important;box-shadow:none!important}@media (max-width:1050px){html body .app-shell :is(.mobile-brand-header,.mobile-header-home){background:color-mix(in srgb,var(--tj-bg) 84%,transparent)!important;backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid var(--tj-line)!important;box-shadow:none!important}html body .app-shell :is(.mobile-brand-header,.mobile-header-controls,.header-actions) :is(button,a):not(.header-profile-avatar):not(.mobile-header-home){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;box-shadow:none!important;border-radius:50%!important}html body .app-shell :is(.mobile-brand-header,.mobile-header-controls,.header-actions) :is(button,a) :is(svg,em,span){color:var(--tj-text)!important}}html body .app-shell .header-profile-avatar{border:1px solid var(--tj-line-strong)!important;box-shadow:none!important;background:var(--tj-surface-3)!important}html body .app-shell .header-actions :is(button,a):not(.header-profile-avatar){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;box-shadow:none!important}@media (max-width:700px){html body .app-shell .content>header{position:static;background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0!important;min-height:0}}html body .app-shell .content .today-stats>* :is(b,strong){font-size:30px!important;line-height:1.05;letter-spacing:-.02em}html body .app-shell .content .page-status dd{font-family:var(--tj-font-display);font-stretch:86%;font-weight:600}html body .app-shell.app-shell .sidebar.sidebar:after,html body .app-shell.app-shell .sidebar.sidebar:before{background:none!important;box-shadow:none!important}@media (max-width:1050px){html body .app-shell :is(.mobile-brand-header,.mobile-header-controls) a:not([class*=button]):not([aria-label]){background:transparent!important;border:0!important;border-radius:0!important}html body .app-shell :is(.mobile-brand-header,.mobile-header-home) img{background:transparent!important}}html body .app-shell .content[data-view] :is(.community-filter-bar button.active,.community-view-tabs button.active,.tempojam-community-scopes button.active){background:var(--tj-surface-3)!important;color:var(--tj-text)!important;border:1px solid var(--tj-line-strong)!important;box-shadow:inset 0 -2px 0 var(--tj-lime)!important}html body .app-shell .content[data-view] :is(.community-filter-bar,.tempojam-community-scopes) button:not(.active){background:transparent!important;color:var(--tj-text-2)!important;border:1px solid var(--tj-line)!important}html body .app-shell .content[data-view] :is(.community-filter-bar,.tempojam-community-scopes){background:transparent!important;border:0!important;gap:6px}html body .app-shell .content[data-view] :is(.community-filter-bar,.tempojam-community-scopes) button{border-radius:var(--tj-radius-pill)!important;min-height:38px}html body .app-shell .content :is(.community-empty,.recordings-empty,.assignment-resources-empty){background:transparent!important;border:1px dashed var(--tj-line-strong)!important;color:var(--tj-text-2)!important}@media (max-width:700px){html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button,html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active{border-color:transparent!important;outline:0;box-shadow:none!important}html body .app-shell.app-shell .sidebar.sidebar nav:not(.practice-navigation)>button.active :is(em,.nav-label){color:var(--tj-text)!important}}html body .app-shell .content :is(.feature-workbench,.teacher-assignment-board,.lesson-list,.class-card):after{display:none!important}@media (max-width:1050px){html body .app-shell .mobile-header-home{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}}html body .app-shell .app-menu-home .app-menu-grid{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}html body .app-shell .app-menu-home .app-menu-grid>:is(button,a){background:var(--tj-surface)!important;border:1px solid var(--tj-line)!important;border-radius:14px!important;box-shadow:none!important;color:var(--tj-text)!important;min-height:56px}html body .app-shell .app-menu-home .app-menu-grid>:is(button,a) b{font-size:15px!important;font-weight:500!important;letter-spacing:0!important;color:var(--tj-text)!important}html body .app-shell .app-menu-home .app-menu-grid>:is(button,a) em{color:var(--tj-muted)!important}html body .app-shell .app-menu-home .app-menu-grid>:is(button,a) i{color:var(--tj-subtle)!important;font-style:normal}html body .app-shell .app-menu-home :is(.app-menu-grid>:is(button,a),.app-menu-account>button):hover{border-color:var(--tj-line-strong)!important}html body .app-shell .app-menu-home .app-menu-account>button{background:var(--tj-surface)!important;border:1px solid var(--tj-line)!important;border-radius:14px!important;color:var(--tj-text)!important}html body .app-shell .app-menu-home .app-menu-account small{color:var(--tj-muted)!important}html body .app-shell .content[data-view] .assignment-status-tabs{gap:6px!important;border:0!important;background:transparent!important}html body .app-shell .content[data-view] .assignment-status-tabs button{border-radius:var(--tj-radius-pill)!important;min-height:38px!important;border:1px solid var(--tj-line)!important;font-weight:500!important}html body .app-shell .content[data-view] .assignment-status-tabs button b{background:var(--tj-surface-3)!important;color:var(--tj-text-2)!important;border:0!important}html body .app-shell .content[data-view] .assignment-status-tabs button.active b{background:var(--tj-lime)!important;color:var(--tj-on-lime)!important}html body .app-shell .content :is(.assignment-review-action,.assignment-student-link+div+button){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;border-radius:var(--tj-radius-pill)!important;box-shadow:none!important}html body .app-shell .content :is(.assignment-info,.assignment-extra-actions,.class-assignment-info){background:transparent!important;border:1px solid var(--tj-line)!important;border-radius:12px!important}html body .app-shell .content :is(.assignment-info,.assignment-extra-actions,.class-assignment-info)>summary{color:var(--tj-violet-soft)!important;font-weight:500!important}html body .app-shell .content .tempo-calendar{background:var(--tj-surface)!important;background-image:none!important;border:1px solid var(--tj-line)!important;box-shadow:none!important;border-radius:16px!important}html body .app-shell .content .tempo-calendar-toolbar :is(small,span){color:var(--tj-muted)!important}html body .app-shell .content .tempo-calendar-toolbar button{background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;border-radius:50%!important;box-shadow:none!important}html body .app-shell .content .tempo-calendar-weekdays *{color:var(--tj-subtle)!important;font-weight:500!important}html body .app-shell .content .tempo-calendar-grid .calendar-day{background:transparent!important;border:1px solid var(--tj-line)!important;border-radius:10px!important;box-shadow:none!important;color:var(--tj-text-2)!important}html body .app-shell .content .tempo-calendar-grid .calendar-day:hover{border-color:var(--tj-line-strong)!important;background:var(--tj-surface-2)!important}html body .app-shell .content .tempo-calendar-grid .calendar-day.today{border-color:var(--tj-lime)!important;color:var(--tj-lime-soft)!important}html body .app-shell .content .tempo-calendar-grid .calendar-day.selected{background:color-mix(in srgb,var(--tj-lime) 14%,transparent)!important;border-color:var(--tj-lime)!important;color:var(--tj-text)!important}html body .app-shell .content .tempo-calendar-grid .calendar-day.selected *,html body .app-shell .content .tempo-calendar-grid .calendar-day.today *{color:inherit!important}html body .app-shell .content .tempo-calendar-grid .calendar-day.has-lessons{background:var(--tj-surface-2)!important}html body .app-shell .content .tempo-calendar-grid .calendar-day.has-lessons b{background:var(--tj-violet)!important;color:#fff!important;border:0!important}html body .app-shell .tool-grid .tool-head .icon{background:var(--tj-surface-3)!important;border:0!important;color:var(--tj-lime-soft)!important;box-shadow:none!important}html body .app-shell .tool-grid .tool-head h3{font-size:16px!important;letter-spacing:.02em!important}html body .app-shell .tool-grid :is(.wide,.tap-tempo){border-radius:var(--tj-radius-pill)!important;box-shadow:none!important}html body .app-shell .tool-grid .wide{background:var(--tj-violet)!important;border:1px solid var(--tj-violet)!important;color:#fff!important}html body .app-shell .tool-grid .wide *{color:#fff!important}html body .app-shell .tool-grid .wide.stop{background:var(--tj-surface-3)!important;border-color:var(--tj-line-strong)!important}html body .app-shell .tool-grid .tap-tempo{background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important}html body .app-shell .tool-grid .bpm strong{font-family:var(--tj-font-display);font-stretch:86%;font-weight:600!important;color:var(--tj-text)!important}html body .app-shell .tool-grid .bpm button,html body .app-shell .tool-grid .power{background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;box-shadow:none!important}html body .app-shell .tool-grid .power.on{border-color:var(--tj-lime)!important;color:var(--tj-lime-soft)!important}html body .app-shell .tool-grid input[type=range]{accent-color:var(--tj-violet)}.tj-landing{min-height:100vh;background:var(--tj-bg);color:var(--tj-text);font-family:var(--tj-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}.tj-landing :is(h1,h2,h3){font-family:var(--tj-font-display);font-stretch:84%;font-weight:600;letter-spacing:-.02em;margin:0;color:var(--tj-text)}.tj-landing a{color:inherit}.tj-landing :where(.lp-section,.lp-hero,.lp-header,.lp-footer){padding-inline:max(20px,calc((100vw - 1160px)/2))}.lp-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;min-height:64px;background:color-mix(in srgb,var(--tj-bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--tj-line)}.lp-logo{display:flex;flex:none}.lp-logo img{height:32px;width:auto}.lp-nav{display:flex;gap:22px;margin-inline-start:12px;flex:1 1}.lp-lang a,.lp-nav a{color:var(--tj-text-2);text-decoration:none;font-size:14px;font-weight:500}.lp-lang a:hover,.lp-nav a:hover{color:var(--tj-text)}.lp-lang{display:flex;gap:10px}.lp-lang a[aria-current=page]{color:var(--tj-text);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--tj-lime)}.lp-icon-link{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--tj-line);color:var(--tj-text-2)}.lp-icon-link:hover{color:var(--tj-text);border-color:var(--tj-line-strong)}.lp-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:var(--tj-radius-pill);background:var(--tj-violet);border:1px solid var(--tj-violet);color:#fff!important;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}.lp-button:hover{background:var(--tj-violet-strong);border-color:var(--tj-violet-strong)}.lp-button.ghost{background:transparent;border-color:var(--tj-line-strong);color:var(--tj-text)!important}.lp-button.ghost:hover{border-color:var(--tj-text-2);background:var(--tj-surface)}.lp-button.large{min-height:52px;padding:0 26px;font-size:16px}.lp-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:56px;padding-block:88px 72px}.lp-hero h1{font-size:clamp(46px,6.4vw,88px);line-height:.98;letter-spacing:-.035em;font-stretch:80%;max-width:13ch;text-wrap:balance}.lp-hero-copy>p{max-width:52ch;margin:24px 0 0;color:var(--tj-text-2);font-size:clamp(17px,1.4vw,19px)}.lp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.lp-hero-copy>small{display:block;margin-top:16px;color:var(--tj-muted);font-size:14px}.lp-phone{justify-self:center;width:min(100%,300px,calc((100vh - 140px) * 9 / 19));aspect-ratio:9/19;padding:10px;border-radius:48px;background:var(--tj-surface-2);border:1px solid var(--tj-line-strong);box-shadow:0 40px 80px -30px color-mix(in srgb,var(--tj-violet) 45%,transparent)}.lp-phone-screen{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:14px 16px 0;border-radius:38px;background:var(--tj-bg);font-size:13px}.lp-phone-status{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--tj-text)}.lp-phone-island{width:84px;height:24px;border-radius:14px;background:var(--tj-ink)}.lp-phone-battery{width:22px;height:11px;border:1.5px solid var(--tj-text-2);border-radius:3px;background:linear-gradient(90deg,var(--tj-text-2) 70%,transparent 70%) content-box;padding:1px}.lp-phone-title{margin:6px 0 0;font-family:var(--tj-font-display);font-stretch:84%;font-size:22px;font-weight:600}.lp-phone-greeting{margin:-8px 0 0;color:var(--tj-muted)}.lp-phone-card{display:grid;gap:4px;padding:12px;border:1px solid var(--tj-line);border-radius:14px;background:var(--tj-surface)}.lp-phone-card small{color:var(--tj-muted);font-size:11px}.lp-phone-card b{font-weight:600;line-height:1.3}.lp-phone-action{justify-self:start;margin-top:6px;padding:6px 14px;border-radius:var(--tj-radius-pill);background:var(--tj-violet);color:#fff;font-weight:600;font-size:12px}.lp-phone-meter{display:flex;align-items:flex-end;gap:4px;height:44px;margin-top:auto;padding:0 4px}.lp-phone-meter i{flex:1 1;border-radius:2px;background:var(--tj-lime);opacity:.85;height:var(--h,40%)}.lp-phone-meter i:nth-child(3n){background:var(--tj-lime-soft)}.lp-phone-meter i:first-child{--h:30%}.lp-phone-meter i:nth-child(2){--h:62%}.lp-phone-meter i:nth-child(3){--h:45%}.lp-phone-meter i:nth-child(4){--h:88%}.lp-phone-meter i:nth-child(5){--h:58%}.lp-phone-meter i:nth-child(6){--h:72%}.lp-phone-meter i:nth-child(7){--h:40%}.lp-phone-meter i:nth-child(8){--h:95%}.lp-phone-meter i:nth-child(9){--h:64%}.lp-phone-meter i:nth-child(10){--h:36%}.lp-phone-meter i:nth-child(11){--h:52%}.lp-phone-meter i:nth-child(12){--h:24%}.lp-phone-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:0 -16px;padding:10px 6px 22px;border-top:1px solid var(--tj-line);background:color-mix(in srgb,var(--tj-bg) 88%,transparent);font-size:10px;color:var(--tj-muted);text-align:center}.lp-phone-tabs span{display:grid;justify-items:center;gap:3px;padding-top:12px;position:relative}.lp-phone-tabs span.active{color:var(--tj-text)}.lp-bars{position:absolute;top:0;display:flex;align-items:flex-end;gap:2px;height:9px}.lp-bars i{width:2px;background:var(--tj-lime);border-radius:1px}.lp-bars i:first-child{height:50%}.lp-bars i:nth-child(2){height:100%}.lp-bars i:nth-child(3){height:72%;background:var(--tj-lime-soft)}@media (prefers-reduced-motion:no-preference){.lp-phone-meter i{animation:lp-level 1.6s ease-in-out infinite alternate;transform-origin:bottom}.lp-phone-meter i:nth-child(odd){animation-delay:-.6s}.lp-phone-meter i:nth-child(3n){animation-delay:-1.1s}@keyframes lp-level{0%{transform:scaleY(.55)}to{transform:scaleY(1)}}}.lp-section{padding-block:72px;border-top:1px solid var(--tj-line)}.lp-section>h2{font-size:clamp(30px,3.6vw,44px);margin-bottom:32px;scroll-margin-top:96px}.lp-news{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin:0;padding:0;list-style:none}.lp-news li{display:grid;gap:6px;padding:22px 0;border-top:1px solid var(--tj-line)}.lp-news h3{font-size:21px}.lp-news h3 a{text-decoration:none;border-bottom:1px solid var(--tj-violet-soft)}.lp-news h3 a:hover{color:var(--tj-violet-soft)}.lp-news p{margin:0;max-width:56ch;color:var(--tj-text-2)}.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lp-split article{display:flex;flex-direction:column;gap:14px;padding:32px;border:1px solid var(--tj-line);border-radius:20px;background:var(--tj-surface)}.lp-split article:last-child{border-color:color-mix(in srgb,var(--tj-violet) 55%,var(--tj-line))}.lp-split h2{font-size:28px}.lp-lead{margin:0;color:var(--tj-text-2);font-size:18px}.lp-split ul{display:grid;gap:10px;margin:4px 0 12px;padding:0;list-style:none}.lp-split li{position:relative;padding-inline-start:22px}.lp-split li:before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:10px;height:10px;border-radius:2px;background:var(--tj-lime)}.lp-split .lp-button{align-self:flex-start;margin-top:auto}.lp-loop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:step}.lp-loop li{display:grid;gap:6px;align-content:start;padding-top:16px;border-top:2px solid var(--tj-line-strong);counter-increment:step}.lp-loop li:before{content:counter(step);color:var(--tj-lime);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lp-loop b{font-family:var(--tj-font-display);font-stretch:84%;font-size:20px;font-weight:600}.lp-loop span{color:var(--tj-text-2);font-size:15px}.lp-plans{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.lp-plans h2{font-size:clamp(30px,3.6vw,44px)}.lp-plans p{margin:8px 0 0;color:var(--tj-text-2);font-size:18px;max-width:60ch}.lp-faq{display:grid;max-width:820px}.lp-faq details{padding:18px 0;border-top:1px solid var(--tj-line)}.lp-faq summary{cursor:pointer;font-size:18px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";color:var(--tj-muted);font-size:22px;line-height:1}.lp-faq details[open] summary:after{content:"–"}.lp-faq p{margin:10px 0 0;color:var(--tj-text-2);max-width:68ch}.lp-footer{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding-block:56px 40px;border-top:1px solid var(--tj-line)}.lp-footer img{height:28px;width:auto}.lp-footer p{margin:10px 0 0;color:var(--tj-muted)}.lp-footer nav{display:grid;gap:10px;align-content:start}.lp-footer nav b{font-size:14px;font-weight:600;color:var(--tj-text)}.lp-footer nav a{color:var(--tj-text-2);text-decoration:none;font-size:14px}.lp-footer nav a:hover{color:var(--tj-text)}.lp-instagram{display:inline-flex;align-items:center;gap:8px}.lp-footer>small{grid-column:1/-1;color:var(--tj-subtle);padding-top:24px;border-top:1px solid var(--tj-line)}@media (max-width:960px){.lp-nav{display:none}.lp-hero{gap:48px;padding-block:56px}.lp-hero,.lp-loop,.lp-news,.lp-split{grid-template-columns:1fr}.lp-loop{gap:0}.lp-loop li{grid-template-columns:24px 140px 1fr;align-items:baseline;padding:14px 0;border-top-width:1px}.lp-footer{grid-template-columns:1fr 1fr}}@media (max-width:560px){.lp-header{gap:10px}.lp-lang{display:none}.lp-header .lp-button{padding:0 14px}.lp-loop li{grid-template-columns:24px 1fr}.lp-loop li span{grid-column:2}.lp-split article{padding:24px}.lp-footer{grid-template-columns:1fr}}html body .login-screen{background:var(--tj-bg)!important;background-image:none!important;color:var(--tj-text)!important}html body .login-screen .login-brand-panel{background:var(--tj-bg)!important;background-image:none!important;border-inline-end:1px solid var(--tj-line)!important}html body .login-screen .login-brand-panel:after,html body .login-screen .login-brand-panel:before{display:none!important}html body .login-screen .login-brand-panel h1{font-family:var(--tj-font-display)!important;font-stretch:80%;font-weight:600!important;letter-spacing:-.03em!important;color:var(--tj-text)!important}html body .login-screen .login-brand-panel h1 i{font-style:normal!important;color:var(--tj-text)!important}html body .login-screen .auth-invite-pill{background:transparent!important;border:0!important;padding:0!important;color:var(--tj-muted)!important;letter-spacing:.06em!important;font-weight:500!important}html body .login-screen .login-brand-panel :is(p,li,small,div){color:var(--tj-text-2)}html body .login-screen .login-form-panel{background:var(--tj-bg)!important;background-image:none!important}html body .login-screen .login-card{background:var(--tj-surface)!important;border:1px solid var(--tj-line)!important;box-shadow:none!important;color:var(--tj-text)!important}html body .login-screen .login-card :is(h2,label,span,b){color:var(--tj-text)!important}html body .login-screen .login-card :is(p,small,em){color:var(--tj-text-2)!important}html body .login-screen .login-card .auth-card-heading small{color:var(--tj-muted)!important;letter-spacing:.06em}html body .login-screen .login-card .login-icon{background:var(--tj-surface-3)!important;color:var(--tj-lime-soft)!important;border:0!important;box-shadow:none!important}html body .login-screen .login-card :is(input,select){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;-webkit-text-fill-color:var(--tj-text)!important;border-radius:10px!important}html body .login-screen .login-card input::placeholder{color:var(--tj-muted)!important;-webkit-text-fill-color:var(--tj-muted)!important}html body .login-screen .login-card input:focus{border-color:var(--tj-violet-soft)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--tj-violet) 30%,transparent)!important}html body .login-screen :is(.school-join-action,.auth-submit){background:var(--tj-violet)!important;border:1px solid var(--tj-violet)!important;color:#fff!important;border-radius:var(--tj-radius-pill)!important;box-shadow:none!important}html body .login-screen :is(.school-join-action,.auth-submit) *{color:#fff!important}html body .login-screen .auth-mode-switch{background:transparent!important;border:0!important;color:var(--tj-violet-soft)!important;box-shadow:none!important}html body .role-choice-card :is(.login-role-buttons a){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;border-radius:14px!important;box-shadow:none!important}html body .role-choice-card .login-role-buttons a:hover{border-color:var(--tj-violet-soft)!important}html body .role-choice-card :is(.login-role-buttons small,>p,>em,.role-choice-notes){color:var(--tj-text-2)!important}html body .role-choice-card .login-role-buttons a>span{background:var(--tj-surface-3)!important;color:var(--tj-lime-soft)!important}html body .action-modal{background:var(--tj-surface)!important;border:1px solid var(--tj-line-strong)!important;border-radius:20px!important;box-shadow:0 30px 80px -20px color-mix(in srgb,var(--tj-ink) 80%,transparent)!important}html body .action-modal .action-modal-head{border-bottom:1px solid var(--tj-line)!important}html body .action-modal .action-modal-head small{color:var(--tj-muted)!important;letter-spacing:.06em}html body .action-modal .action-modal-head h2{font-family:var(--tj-font-display);font-stretch:86%;font-weight:600!important}html body .action-modal .action-modal-head button{background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;border-radius:50%!important;box-shadow:none!important}html body .action-modal .action-modal-actions button:not(.primary-action){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;border-radius:var(--tj-radius-pill)!important;box-shadow:none!important}html body .action-modal .action-modal-actions .primary-action{background:var(--tj-violet)!important;border:1px solid var(--tj-violet)!important;color:#fff!important;border-radius:var(--tj-radius-pill)!important}html body .action-modal :is(.modal-field,.modal-check){color:var(--tj-text-2)!important}html body .action-modal .tester-settings{background:var(--tj-bg)!important}html body .tester-settings button[type=submit]{background:var(--tj-violet)!important;border-color:var(--tj-violet)!important;color:#fff!important}html body .tester-settings button[type=submit]:disabled{opacity:.45}.sr-only{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}html body .action-modal .message-thread>article{background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;border-radius:18px 18px 18px 6px!important;box-shadow:none!important}html body .action-modal .message-thread>article.sent{background:var(--tj-violet)!important;border-color:var(--tj-violet)!important;border-radius:18px 18px 6px 18px!important}html[dir=rtl] body .action-modal .message-thread>article{border-radius:18px 18px 6px 18px!important}html[dir=rtl] body .action-modal .message-thread>article.sent{border-radius:18px 18px 18px 6px!important}html body .action-modal .message-thread>article.sent :is(b,span,time){color:#fff!important;-webkit-text-fill-color:#fff!important}html body .action-modal .message-thread>article.sent time{opacity:.75}html body .action-modal .message-thread>article.new-message{border-color:var(--tj-lime)!important}html body .action-modal .message-conversation-head{border-bottom:1px solid var(--tj-line)!important;background:transparent!important}html body .action-modal .message-conversation-head :is(b){color:var(--tj-text)!important;-webkit-text-fill-color:var(--tj-text)!important;font-weight:600}html body .action-modal .message-conversation-head :is(small,span:not(.message-avatar)){color:var(--tj-muted)!important;-webkit-text-fill-color:var(--tj-muted)!important}html body .action-modal .message-avatar{background:var(--tj-surface-3)!important;color:var(--tj-text-2)!important;border:1px solid var(--tj-line)!important}html body .action-modal .message-inbox-list>button.selected{background:var(--tj-surface-2)!important;box-shadow:inset 2px 0 0 var(--tj-lime)!important}html[dir=rtl] body .action-modal .message-inbox-list>button.selected{box-shadow:inset -2px 0 0 var(--tj-lime)!important}html body .action-modal :is(.message-composer) button:not(.message-attach-label button){background:var(--tj-violet)!important;border:1px solid var(--tj-violet)!important;color:#fff!important;border-radius:var(--tj-radius-pill)!important}html body .action-modal :is(.message-composer) button:not(.message-attach-label button):disabled{background:var(--tj-surface-3)!important;border-color:var(--tj-line)!important;color:var(--tj-muted)!important}html body .action-modal .message-attach-label{position:relative;display:inline-flex!important;align-items:center;gap:6px;justify-self:start;min-height:36px;padding:0 14px;border:1px solid var(--tj-line);border-radius:var(--tj-radius-pill);background:var(--tj-surface-2);color:var(--tj-text-2)!important;cursor:pointer;font-weight:500}html body .action-modal .message-attach-label input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}html body .action-modal .message-attach-label:focus-within{outline:2px solid var(--tj-violet-soft);outline-offset:2px}html body .app-shell .marketplace-page :is(.marketplace-hero,.marketplace-grid>article,.marketplace-search,.marketplace-form){background:var(--tj-surface)!important;background-image:none!important;border:1px solid var(--tj-line)!important;border-radius:16px!important;box-shadow:none!important;color:var(--tj-text)!important}html body .app-shell .marketplace-page .marketplace-hero:after,html body .app-shell .marketplace-page .marketplace-hero:before{display:none!important}html body .app-shell .marketplace-page .marketplace-hero h2{font-family:var(--tj-font-display);font-stretch:84%;font-weight:600!important;letter-spacing:-.02em}html body .app-shell .marketplace-page .marketplace-hero :is(small,span:first-child){color:var(--tj-muted)!important}html body .app-shell .marketplace-page .bazaar-shortcuts button,html body .app-shell .marketplace-page .marketplace-hero :is(button,a):not(:first-of-type){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important}html body .app-shell .marketplace-page .marketplace-card-top>span{background:var(--tj-surface-3)!important;color:var(--tj-lime-soft)!important;border:0!important}html body .app-shell .marketplace-page .marketplace-grid>article :is(strong,b){color:var(--tj-text)!important}html body .app-shell .marketplace-page .marketplace-grid>article :is(small,dt){color:var(--tj-muted)!important}html body .app-shell .content .recordings-library-head{display:grid!important;gap:6px}html body .app-shell .marketplace-page .bazaar-welcome{background:var(--tj-surface)!important;background-image:none!important;border:1px solid var(--tj-line)!important;border-radius:16px!important;box-shadow:none!important}html body .app-shell .marketplace-page .bazaar-welcome h2{font-family:var(--tj-font-display);font-stretch:84%;font-weight:600!important;letter-spacing:-.02em;color:var(--tj-text)!important}html body .app-shell .marketplace-page .bazaar-welcome small{color:var(--tj-muted)!important}html body :is(.billing-primary,.chord-play,.chord-progression-play:not([aria-pressed=true]),.app-setup-primary,.premium-gate-primary,.pricing-site .pricing-cta:not(.secondary)){background:var(--tj-violet)!important;border-color:var(--tj-violet)!important;color:#fff!important;box-shadow:none!important}html body :is(.billing-primary,.chord-play,.chord-progression-play,.app-setup-primary,.premium-gate-primary,.pricing-site .pricing-cta:not(.secondary)):hover:not(:disabled){background:var(--tj-violet-strong)!important;border-color:var(--tj-violet-strong)!important}html body .pricing-site .pricing-cta.secondary{background:var(--tj-ink)!important;color:var(--tj-paper)!important}html body .billing-interval button.active{border-color:var(--tj-lime)!important;box-shadow:inset 0 -2px 0 var(--tj-lime)!important}html body .app-shell .content[data-view] .tempo-calendar-grid .calendar-day.today:not(.selected){border-color:var(--tj-lime)!important;box-shadow:none!important;outline:0!important}html body .app-shell .content[data-view] .tempo-calendar-grid .calendar-day.selected{outline:0!important}html body .app-shell .content[data-view] .tempo-calendar-grid .calendar-day:focus-visible{outline:2px solid var(--tj-violet-soft)!important;outline-offset:2px!important}html body .app-shell .content :is(.lesson-row-actions,.assignment-row-actions,.recording-project-actions,.studio-edit-actions) :is(.lesson-cancel,.assignment-cancel,.project-delete,.studio-delete):not(.primary-action){background:transparent!important;border:1px solid color-mix(in srgb,var(--tj-danger) 50%,transparent)!important;color:var(--tj-danger)!important}html body .app-shell .content :is(.lesson-card-facts dt,.lesson-card-description h4,.lesson-card-resource h4,.lesson-card-head small){color:var(--tj-muted)!important;font-weight:500!important}html body .app-shell .content .lesson-card-facts>div{box-shadow:none!important}html body .app-shell .content .lesson-card-description,html body .app-shell .content .lesson-card-facts>div{background:var(--tj-bg)!important;border:1px solid var(--tj-line)!important}html body .app-shell .content :is(.feature-title,.bpm-target,.assignment-recording-submission-studio,.assignment-practice-room,.recorder-submission-panel,.upload-zone,.assignment-detail>section,.assignment-detail>div:not(.assignment-practice-actions)){background:var(--tj-surface)!important;background-image:none!important;border:1px solid var(--tj-line)!important;border-radius:16px!important;box-shadow:none!important}html body .app-shell .content .feature-title :is(small){color:var(--tj-muted)!important;font-weight:500!important}html body .app-shell .content .feature-title :is(.status-warn,.status-good){border-radius:var(--tj-radius-pill)!important}html body .app-shell .content .bpm-target :is(strong,b){font-family:var(--tj-font-display);font-stretch:86%;color:var(--tj-text)!important}html body .app-shell .content .bpm-target :is(small,span){color:var(--tj-muted)!important}html body .app-shell .content :is(.bpm-target,.assignment-practice-room) input[type=range]{accent-color:var(--tj-violet)}html body .app-shell .content .assignment-practice-room :is(button):not(.recorder-submit-action){background:var(--tj-surface-2)!important;border:1px solid var(--tj-line)!important;color:var(--tj-text)!important;border-radius:var(--tj-radius-pill)!important;box-shadow:none!important}html body .app-shell .content .assignment-practice-room :is(button)[class*=record]:not(.recorder-submit-action){background:var(--tj-danger)!important;border-color:var(--tj-danger)!important;color:#fff!important}html body .app-shell .content .assignment-practice-heading>span,html body .app-shell .content .assignment-recording-submission-studio .recorder-submission-heading:after{background:var(--tj-surface-3)!important;color:var(--tj-text-2)!important;border:0!important}html body .app-shell .content :is(.assignment-recording-submission-studio,.recorder-submission-panel) :is(small,p){color:var(--tj-text-2)!important}html body .app-shell .content .assignment-back{background:transparent!important;border:0!important;color:var(--tj-violet-soft)!important;box-shadow:none!important;padding-inline:0!important}html body .login-screen .login-card input:is(:-webkit-autofill,:autofill):focus{box-shadow:0 0 0 1000px var(--tj-surface-2) inset,0 0 0 3px color-mix(in srgb,var(--tj-violet) 30%,transparent)!important}html body .seo-cta{position:relative;margin:var(--tj-space-6) 0;padding:clamp(24px,5vw,48px);border-radius:var(--tj-radius-lg);color:var(--tj-text);font-family:var(--tj-font)}html body .seo-cta h2{margin:0;font-family:var(--tj-font-display);font-stretch:86%;font-weight:700;line-height:1.02;letter-spacing:-.02em;color:inherit}html body .seo-cta p{margin:0;max-width:62ch;font-size:var(--tj-text-lg);line-height:1.5;color:inherit}html body .seo-cta small{font-size:var(--tj-text-sm);opacity:.85}html body .seo-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tj-space-3)}html body .seo-cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:var(--tj-radius-pill);border:2px solid var(--tj-violet);background:var(--tj-violet);color:var(--tj-card-light)!important;font-size:var(--tj-text-lg);font-weight:700;text-decoration:none!important;white-space:nowrap;transition:transform .15s ease,background .15s ease}html body .seo-cta-button:hover{background:var(--tj-violet-strong);border-color:var(--tj-violet-strong);transform:translateY(-1px)}html body .seo-cta-button:focus-visible{outline:none;box-shadow:var(--tj-focus)}html body .seo-cta-button.secondary{background:transparent;border-color:currentColor}html body .seo-cta-bars{display:inline-flex;align-items:flex-end;gap:3px;height:22px}html body .seo-cta-bars i{width:5px;border-radius:2px;background:var(--tj-lime)}html body .seo-cta-bars i:first-child{height:45%}html body .seo-cta-bars i:nth-child(2){height:100%}html body .seo-cta-bars i:nth-child(3){height:70%}html body .seo-cta-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--tj-space-5);align-items:center;margin-top:var(--tj-space-4);background:var(--tj-violet)}html body .seo-cta-top h2{font-size:clamp(30px,4.6vw,52px);margin-bottom:var(--tj-space-3)}html body .seo-cta-top .seo-cta-button{background:var(--tj-card-light);border-color:var(--tj-card-light);color:var(--tj-violet-strong)!important}html body .seo-cta-top .seo-cta-button:hover{background:var(--tj-lime-soft);border-color:var(--tj-lime-soft)}html body .seo-cta-top .seo-cta-button.secondary{background:transparent;border-color:var(--tj-card-light);color:var(--tj-card-light)!important}html body .seo-cta-top small{flex-basis:100%}html body .seo-cta-band{display:grid;gap:var(--tj-space-4);background:var(--tj-surface-2);border:1px solid var(--tj-line);border-inline-start:8px solid var(--tj-violet)}html body .seo-cta-band h2{font-size:clamp(28px,4vw,44px)}html body .seo-cta-band .seo-cta-button{justify-self:start}html body .seo-cta-end{display:grid;justify-items:center;gap:var(--tj-space-4);text-align:center;background:var(--tj-violet);padding-block:clamp(40px,7vw,72px)}html body .seo-cta-end h2{font-size:clamp(34px,6vw,64px)}html body .seo-cta-end ul{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--tj-space-2) var(--tj-space-5);margin:0;padding:0;list-style:none;font-size:var(--tj-text-md);font-weight:600}html body .seo-cta-end li:before{content:"✓ ";color:var(--tj-lime-soft)}html body .seo-cta-end .seo-cta-actions{justify-content:center}html body .seo-cta-end .seo-cta-button{background:var(--tj-card-light);border-color:var(--tj-card-light);color:var(--tj-violet-strong)!important;min-height:60px;font-size:var(--tj-text-xl)}html body .seo-cta-end .seo-cta-button:hover{background:var(--tj-lime-soft);border-color:var(--tj-lime-soft)}html body .seo-cta-end .seo-cta-button.secondary{background:transparent;border-color:var(--tj-card-light);color:var(--tj-card-light)!important;font-size:var(--tj-text-lg)}html body .seo-cta-sticky{position:fixed;z-index:60;inset-inline:max(12px,calc((100vw - 980px)/2));bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:var(--tj-space-3);padding-block:10px;padding-inline:18px 10px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:color-mix(in srgb,var(--tj-bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--tj-shadow);color:var(--tj-text);font-family:var(--tj-font)}html body .seo-cta-sticky p{flex:1 1;margin:0;font-size:var(--tj-text-md);font-weight:600;line-height:1.3}html body .seo-cta-sticky .seo-cta-button{min-height:48px;padding:0 22px;font-size:var(--tj-text-md)}html:not(.tj-signed-in) body main:has(>.seo-cta-sticky){padding-bottom:110px}html.tj-signed-in body :is(.seo-cta,.seo-cta-sticky){display:none!important}@media (max-width:720px){html body .seo-cta-top{grid-template-columns:1fr}html body .seo-cta-button{width:100%}html body .seo-cta-band .seo-cta-button{justify-self:stretch}html body .seo-cta-sticky{inset-inline:8px;padding-block:8px;padding-inline:14px 8px}html body .seo-cta-sticky p{font-size:var(--tj-text-sm)}html body .seo-cta-sticky .seo-cta-button{width:auto}}@media (prefers-reduced-motion:reduce){html body .seo-cta-button{transition:none}html body .seo-cta-button:hover{transform:none}}.lp-tour{display:grid;gap:clamp(64px,9vw,120px)}.lp-tour-head{display:grid;gap:12px;max-width:720px}.lp-tour-head h2{font-size:clamp(34px,4.6vw,60px);line-height:1;letter-spacing:-.03em;font-stretch:80%}.lp-tour-head p{margin:0;color:var(--tj-text-2);font-size:clamp(17px,1.4vw,19px)}.lp-tour-item{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,5vw,72px)}.lp-tour-item:nth-child(odd):not(.featured) .lp-tour-text{order:2}.lp-tour-text{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.lp-tour-text h3{font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.02em;font-stretch:86%}.lp-tour-text p{margin:0;max-width:46ch;color:var(--tj-text-2);font-size:17px;line-height:1.55}.lp-tour-text ul{display:grid;gap:8px;margin:2px 0 6px;padding:0;list-style:none}.lp-tour-text li{position:relative;padding-inline-start:22px;color:var(--tj-text)}.lp-tour-text li:before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:10px;height:10px;border-radius:2px;background:var(--tj-lime)}.lp-tour-text .lp-actions{margin-top:6px}.lp-tour-tag{justify-self:start;display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);color:var(--tj-text-2);font-size:12px;font-weight:600}.lp-tour-tag.premium{border-color:color-mix(in srgb,var(--tj-violet) 60%,var(--tj-line));color:var(--tj-violet-soft)}.lp-tour-media{position:relative}.lp-shot{margin:0;overflow:hidden;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-lg);background:var(--tj-surface)}.lp-shot img{display:block;width:100%;height:auto}.lp-tour-media.stacked{padding-bottom:18%}.lp-tour-media.stacked .lp-shot-front{position:absolute;width:64%;inset-inline-end:-4%;bottom:0;box-shadow:var(--tj-shadow)}.lp-tour-item.featured{grid-template-columns:1fr;gap:32px}.lp-tour-item.featured .lp-tour-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px;row-gap:12px;align-items:start}.lp-tour-item.featured .lp-tour-text>:is(.lp-tour-tag,h3,p){grid-column:1}.lp-tour-item.featured .lp-tour-text>:is(ul,.lp-actions){grid-column:2}.lp-tour-item.featured .lp-tour-text>ul{grid-row:2/span 2;align-self:center}.lp-tour-item.featured .lp-tour-text>.lp-actions{grid-row:4}.lp-tour-item.featured .lp-tour-text h3{font-size:clamp(36px,4.4vw,56px)}@media (max-width:900px){.lp-tour-item,.lp-tour-item.featured .lp-tour-text{grid-template-columns:1fr}.lp-tour-item:nth-child(odd):not(.featured) .lp-tour-text{order:0}.lp-tour-item.featured .lp-tour-text>*{grid-column:1!important;grid-row:auto!important}.lp-tour-media.stacked{padding-bottom:22%}.lp-tour-media.stacked .lp-shot-front{inset-inline-end:0}}html body .action-modal .class-message-conversation{display:flex;flex-direction:column;min-height:0}html body .action-modal .class-chat-conversation{display:flex;flex:1 1;flex-direction:column;min-height:0}html body .action-modal .class-chat-conversation .message-thread{flex:1 1;min-height:0;overflow-y:auto}html body .action-modal .class-chat-conversation .message-avatar .profile-avatar-frame{font-size:18px}html body .action-modal .class-chat-history{align-self:center;margin:var(--tj-space-2) 0 0;min-height:36px;padding:0 14px;border:1px solid var(--tj-line-strong)!important;border-radius:var(--tj-radius-pill);background:var(--tj-surface-2)!important;color:var(--tj-text-2)!important;font-size:var(--tj-text-sm)}html body .action-modal .message-conversation-head>div{min-width:0}html body .action-modal .message-conversation-head>div>:is(b,span){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:760px){html body .action-modal .message-mail-layout.conversation-open>.online-network-strip{display:none!important}html body .action-modal .message-conversation-head{display:grid!important;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px!important;min-height:64px;padding:10px 12px!important}html body .action-modal .message-conversation-head .message-avatar{display:inline-grid!important}html body .action-modal .message-inbox-back{display:inline-flex!important;align-items:center;gap:4px;min-height:36px;padding:0 12px!important;border:1px solid var(--tj-line-strong)!important;border-radius:var(--tj-radius-pill)!important;font-size:var(--tj-text-sm)!important;font-weight:600!important;letter-spacing:0;text-transform:none;white-space:nowrap}}.chord-card-visuals:has(>.arpeggio-diagram){grid-template-columns:1fr}.arpeggio-diagram{display:grid;gap:4px;margin:0}.arpeggio-diagram .staff-diagram{max-height:200px}.arpeggio-label{fill:var(--tj-text-2);font-size:11px;font-family:var(--tj-font);font-weight:600}.arpeggio-diagram figcaption{color:var(--tj-muted);font-size:var(--tj-text-xs)}.drum-board{display:grid;gap:var(--tj-space-3);margin:var(--tj-space-5) 0;padding:var(--tj-space-4);border:1px solid var(--tj-line);border-radius:var(--tj-radius-lg);background:var(--tj-surface)}.drum-grid{display:grid;gap:4px;overflow-x:auto;padding-bottom:4px}.drum-grid-row{display:grid;grid-template-columns:108px repeat(var(--drum-steps),minmax(22px,1fr));gap:3px;align-items:center;min-width:calc(108px + var(--drum-steps) * 25px)}.drum-grid-label{display:flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid var(--tj-line);border-radius:var(--tj-radius-sm);background:var(--tj-surface-2);color:var(--tj-text);font:inherit;font-size:var(--tj-text-sm);font-weight:600;text-align:start;white-space:nowrap;cursor:pointer}.drum-grid-count .drum-grid-label{border:0;background:none;cursor:default;color:var(--tj-muted);font-size:var(--tj-text-xs)}.drum-grid-row.muted .drum-grid-label{color:var(--tj-muted);text-decoration:line-through}.drum-grid-row.muted .drum-cell i{opacity:.25}.drum-cell{position:relative;display:grid;place-items:center;height:34px;border-radius:6px;background:var(--tj-bg)}.drum-cell.beat{box-shadow:inset 2px 0 0 var(--tj-line-strong)}.drum-grid-count .drum-cell{height:22px;background:none;color:var(--tj-muted);font-size:11px;font-weight:600}.drum-grid-count .drum-cell.beat{color:var(--tj-text)}.drum-cell.now{background:color-mix(in srgb,var(--tj-lime) 22%,var(--tj-bg))}.drum-grid-count .drum-cell.now{color:var(--tj-lime);background:none}.drum-cell i{display:block;width:62%;max-width:18px;aspect-ratio:1;border-radius:4px;background:var(--tj-text)}.drum-cell i.ghost{width:38%;background:var(--tj-text-2);border-radius:50%}.drum-cell i.open{background:transparent;border:2px solid var(--tj-text);border-radius:50%}.drum-cell.now i:not(.ghost):not(.open){background:var(--tj-lime)}.drum-board-hint{margin:0;color:var(--tj-muted);font-size:var(--tj-text-sm)}@media (max-width:640px){.drum-board{padding:var(--tj-space-3)}.drum-grid{overflow:visible}.drum-grid-row{grid-template-columns:repeat(var(--drum-steps),minmax(0,1fr));gap:2px;min-width:0}.drum-grid-label{grid-column:1/-1;min-height:28px;padding:0 8px;font-size:var(--tj-text-xs)}.drum-grid-count .drum-grid-label{min-height:16px;padding:0}.drum-grid-count .drum-grid-label:empty{display:none}.drum-cell{height:30px;border-radius:4px}.drum-grid-count .drum-cell{height:18px;font-size:10px}}.instrument-family-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--tj-space-5)}.instrument-family-nav a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);color:var(--tj-text);text-decoration:none;font-size:var(--tj-text-sm);font-weight:600}.instrument-family-nav a:hover{border-color:var(--tj-violet-soft)}.instrument-family{display:grid;gap:var(--tj-space-3);margin-bottom:var(--tj-space-6);scroll-margin-top:96px}.instrument-family>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-bottom:8px;border-bottom:1px solid var(--tj-line)}.instrument-family>header h3{margin:0;font-size:var(--tj-text-xl);font-stretch:86%}.instrument-family>header span{color:var(--tj-muted);font-size:var(--tj-text-sm)}.discovery-shell .instrument-card h2 a{color:inherit;text-decoration:none}.discovery-shell .instrument-card h2 a:after{content:"";position:absolute;inset:0}.discovery-shell .instrument-card{position:relative}.instrument-card-links{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:auto;font-size:var(--tj-text-sm);font-weight:600}.instrument-card-links a{color:var(--tj-violet-soft);text-decoration:none}html body .profile-stage .pf{display:grid;gap:var(--tj-space-4);width:min(1080px,100%);margin:var(--tj-space-5) auto 0;color:var(--tj-text);font-family:var(--tj-font)}.pf-hero{overflow:hidden;border:1px solid var(--tj-line);border-radius:var(--tj-radius-lg);background:var(--tj-surface)}.pf-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:5px;height:128px;padding:0 var(--tj-space-5);background:var(--tj-bg);border-bottom:1px solid var(--tj-line)}.pf-banner i{flex:1 1;max-width:14px;border-radius:3px 3px 0 0;background:var(--tj-surface-3)}.pf-banner i.signal{background:var(--tj-lime)}.pf-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:var(--tj-space-3) var(--tj-space-5);padding:0 var(--tj-space-5) var(--tj-space-5)}.pf-avatar{width:120px;height:120px;margin-top:-56px;border:4px solid var(--tj-surface);border-radius:50%;background:var(--tj-surface-2);overflow:hidden}html body .pf-avatar :is(img,.profile-avatar-frame){width:100%!important;height:100%!important;border-radius:50%;object-fit:cover;display:grid;place-items:center;font-size:36px;font-weight:600;color:var(--tj-text);background:var(--tj-surface-2)}.pf-name{display:grid;gap:4px;min-width:0;padding-top:var(--tj-space-3)}.pf-role{justify-self:start;display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);color:var(--tj-text-2);font-size:var(--tj-text-xs);font-weight:600}html body .pf-name h1{margin:2px 0 0;font-size:clamp(30px,4vw,44px);line-height:1.02;letter-spacing:-.02em;font-stretch:86%;font-weight:600;color:var(--tj-text);overflow-wrap:anywhere}.pf-headline{margin:0;max-width:60ch;color:var(--tj-text-2);font-size:var(--tj-text-lg);line-height:1.4}.pf-meta{gap:4px 16px;margin:0;color:var(--tj-muted);font-size:var(--tj-text-sm)}.pf-actions,.pf-meta{display:flex;flex-wrap:wrap}.pf-actions{justify-content:flex-end;gap:8px}html body .pf-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:transparent;color:var(--tj-text);font-size:var(--tj-text-md);font-weight:600;text-decoration:none;white-space:nowrap}html body .pf-button:hover{border-color:var(--tj-text-2);background:var(--tj-surface-2)}html body .pf-button.primary{background:var(--tj-violet);border-color:var(--tj-violet);color:var(--tj-card-light)}html body .pf-button.primary:hover{background:var(--tj-violet-strong);border-color:var(--tj-violet-strong)}.pf-chip:focus-visible,.pf-links a:focus-visible,html body .pf-button:focus-visible{outline:none;box-shadow:var(--tj-focus)}.pf-checklist{display:grid;gap:var(--tj-space-3);padding:var(--tj-space-4) var(--tj-space-5);border:1px solid color-mix(in srgb,var(--tj-violet) 50%,var(--tj-line));border-radius:var(--tj-radius-lg);background:var(--tj-violet-tint)}.pf-checklist-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}html body .pf-checklist h2{margin:0;font-size:var(--tj-text-lg);color:var(--tj-text)}.pf-checklist-head span{color:var(--tj-text-2);font-size:var(--tj-text-sm)}.pf-progress{height:6px;border-radius:var(--tj-radius-pill);background:var(--tj-surface-3);overflow:hidden}.pf-progress i{display:block;height:100%;border-radius:inherit;background:var(--tj-lime)}.pf-checklist ul{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none}.pf-checklist li{display:inline-flex;align-items:center;gap:8px;font-size:var(--tj-text-sm);color:var(--tj-text)}.pf-checklist li>span{display:grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--tj-line-strong);border-radius:50%;font-size:11px}.pf-checklist li.done{color:var(--tj-muted)}.pf-checklist li.done>span{border-color:var(--tj-lime);background:var(--tj-lime);color:var(--tj-on-lime)}html body .pf-checklist li a{color:var(--tj-violet-soft);text-decoration:none;font-weight:600}.pf-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--tj-space-4);align-items:start}.pf-card{display:grid;gap:var(--tj-space-3);padding:var(--tj-space-5);border:1px solid var(--tj-line);border-radius:var(--tj-radius-lg);background:var(--tj-surface)}.pf-instruments{grid-column:2;grid-row:1/span 2}html body .pf-card h2{margin:0;font-size:var(--tj-text-xl);font-stretch:86%;font-weight:600;color:var(--tj-text)}.pf-card p{margin:0;color:var(--tj-text-2);line-height:1.65}.pf-about p{font-size:var(--tj-text-md);max-width:68ch}.pf-empty{color:var(--tj-muted)!important}html body .pf-text-link{justify-self:start;color:var(--tj-violet-soft);font-weight:600;text-decoration:none}.pf-family{display:grid;gap:8px}html body .pf-family h3{margin:0;color:var(--tj-muted);font-size:var(--tj-text-xs);font-weight:600}.pf-chips{display:flex;flex-wrap:wrap;gap:8px}html body .pf-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);color:var(--tj-text);text-decoration:none;font-size:var(--tj-text-sm);font-weight:600}.pf-chip:hover{border-color:var(--tj-violet-soft)}.pf-chip small{color:var(--tj-violet-soft);font-size:11px;font-weight:600}.pf-links{display:grid;gap:8px;margin:0;padding:0;list-style:none}html body .pf-links a{display:grid;gap:2px;padding:10px 14px;border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-bg);color:var(--tj-text);text-decoration:none}.pf-links a:hover{border-color:var(--tj-violet-soft)}.pf-links b{font-size:var(--tj-text-sm)}.pf-links span{overflow:hidden;color:var(--tj-muted);font-size:var(--tj-text-xs);text-overflow:ellipsis;white-space:nowrap}.pf-privacy{display:flex;align-items:flex-start;gap:8px;font-size:var(--tj-text-sm)!important;color:var(--tj-muted)!important}.pf-dot{flex:none;width:8px;height:8px;margin-top:.5em;border-radius:50%;background:var(--tj-muted)}.pf-dot.public{background:var(--tj-lime)}@media (max-width:800px){.pf-identity{grid-template-columns:auto minmax(0,1fr);align-items:start}.pf-actions{grid-column:1/-1;justify-content:flex-start}.pf-grid{grid-template-columns:1fr}.pf-instruments{grid-column:auto;grid-row:auto}}@media (max-width:520px){.pf-banner{height:96px;gap:4px;padding:0 var(--tj-space-3)}.pf-identity{grid-template-columns:1fr;padding:0 var(--tj-space-4) var(--tj-space-4)}.pf-avatar{width:96px;height:96px;margin-top:-48px}.pf-name{padding-top:0}.pf-actions .pf-button{flex:1 1}.pf-card,.pf-checklist{padding:var(--tj-space-4)}}.instrument-picker{display:grid;gap:10px;padding:var(--tj-space-3);border:1px solid var(--tj-line);border-radius:var(--tj-radius);background:var(--tj-bg)}.instrument-picker>p{margin:0;color:var(--tj-text-2);font-size:var(--tj-text-sm)}.instrument-picker-families{display:flex;flex-wrap:wrap;gap:6px}html body .instrument-picker-families button{position:relative;min-height:34px;padding:0 12px;border:1px solid transparent;border-radius:var(--tj-radius-pill);background:transparent;color:var(--tj-text-2);font:inherit;font-size:var(--tj-text-sm);font-weight:600;cursor:pointer}html body .instrument-picker-families button[aria-selected=true]{border-color:var(--tj-line-strong);background:var(--tj-surface-2);color:var(--tj-text)}.instrument-picker-dot{position:absolute;top:6px;inset-inline-end:5px;width:6px;height:6px;border-radius:50%;background:var(--tj-lime)}.instrument-picker-chips{display:flex;flex-wrap:wrap;gap:8px}html body .instrument-picker-chips button{min-height:36px;padding:0 14px;border:1px solid var(--tj-line-strong);border-radius:var(--tj-radius-pill);background:transparent;color:var(--tj-text);font:inherit;font-size:var(--tj-text-sm);font-weight:600;cursor:pointer}html body .instrument-picker-chips button[aria-pressed=true]{border-color:var(--tj-violet);background:var(--tj-violet);color:var(--tj-card-light)}