:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-body:"Plus Jakarta Sans", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-display:"Lora", "S-Core Dream", Georgia, "Times New Roman", serif;--font-subheading:"Plus Jakarta Sans", "NanumSquareNeo", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-keyword:"Plus Jakarta Sans", "RIDIBatang-subset", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{font-family:var(--font-body);color:#2a211d;background:#faf3ea;margin:0}#root{min-height:100vh}h1,h2,h3,p{margin:0}h1,h3{font-family:var(--font-display)}.site-nav{z-index:10;background:#fff;border-bottom:1px solid #ece1d3;flex-direction:column;gap:8px;padding:12px 24px;display:flex;position:sticky;top:0}.site-nav-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.site-nav-brand{color:#a6472b;font-family:var(--font-display);white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.site-nav-logo{width:auto;height:26px}.site-nav-hamburger{color:#a6472b;cursor:pointer;background:0 0;border:1px solid #ece1d3;border-radius:8px;padding:6px 10px;font-size:18px;line-height:1;display:none}.site-nav-links{flex-wrap:wrap;gap:6px;display:flex}.site-nav-link{color:#a6472b;white-space:nowrap;border-radius:8px;padding:7px 14px;font-size:13.5px;font-weight:600;text-decoration:none}.site-nav-link:hover{background:#f3e3dc}.site-nav-link.active{color:#fff;background:#a6472b}.site-nav-membership{border-top:1px solid #f3ece2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;padding-top:8px;display:flex}.site-nav-auth{background:#faf3ea;border-radius:999px;align-items:center;gap:12px;padding:6px 8px 6px 16px;font-size:13px;display:flex}.site-nav-auth-divider{background:#d9b8a3;flex-shrink:0;width:1px;height:16px}.site-nav-auth-email{color:#6b5c53;white-space:nowrap;font-size:12px}.site-nav-auth-signin{color:#2c5f5a;white-space:nowrap;font-size:12.5px;font-weight:700;text-decoration:none}.site-nav-auth-signin:hover{text-decoration:underline}.site-nav-signout-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#a6472b;border:none;border-radius:999px;padding:7px 16px;font-size:12px;font-weight:700}.site-nav-signout-btn:hover{background:#8f3b23}.site-nav-member-badge{align-items:center;gap:10px;font-size:13px;display:flex}.site-nav-member-badge>span{color:#2f6b2f;white-space:nowrap;background:#eaf3ea;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:700}.site-nav-manage-btn{color:#6b5c53;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e6d9c8;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:600}.site-nav-manage-btn:hover{color:#a6472b;border-color:#a6472b}.site-nav-trial-badge{color:#8a6a1f;white-space:nowrap;background:#fff7e8;border:1px solid #f0dfb8;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:700}.site-nav-login{color:#3a2a06;cursor:pointer;white-space:nowrap;background:#c9a227;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700}.site-nav-login:hover:not(:disabled){background:#d9b23f}.site-nav-login:disabled{opacity:.7;cursor:default}@media (width<=640px){.site-nav{padding:12px 16px}.site-nav-top{align-items:center;gap:10px}.site-nav-hamburger{display:block}.site-nav-links{flex:100%;justify-content:center;gap:8px;display:none}.site-nav-links.open{flex-direction:column;display:flex}.site-nav-link{text-align:center;border:1px solid #ece1d3;flex:auto}.site-nav-link.active{border-color:#a6472b}.site-nav-membership{justify-content:center;display:none}.site-nav-membership.open{flex-direction:column;display:flex}.site-nav-member-badge,.site-nav-login{justify-content:center;width:100%}.site-nav-auth{flex-wrap:wrap;justify-content:center;row-gap:8px;width:100%}}.topbar{color:#fff;background:linear-gradient(135deg,#a6472b,#2c5f5a);flex-direction:column;gap:16px;padding:20px 24px;display:flex}.topbar-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.topbar-controls{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-logo{flex-shrink:0;width:auto;height:46px}.topbar h1{letter-spacing:.01em;margin:0;font-size:23px;font-weight:700}.topbar p{color:#f2d9e2;margin:2px 0 0;font-size:13px}.searchbox{gap:8px;width:100%;max-width:460px;display:flex}.searchbox input{border:none;border-radius:8px;flex:1;padding:10px 14px;font-size:14px}.refresh-group{align-items:center;gap:10px;display:flex}.refresh-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff29;border:1px solid #fff6;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600;transition:background .15s}.refresh-btn:hover:not(:disabled){background:#ffffff47}.refresh-btn:disabled{opacity:.6;cursor:default}.meta-line{color:#ffffffbf;white-space:nowrap;font-size:11.5px}@media (width<=640px){.topbar-controls{width:100%}.refresh-group{flex-wrap:wrap}}.member-badge{align-items:center;gap:10px;font-size:13px;display:flex}.member-badge>span{color:#3a2a06;background:#c9a227;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:700}.manage-link{color:#f2d9e2;cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;text-decoration:underline}.membership-notice{border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 24px;padding:12px 16px;font-size:13.5px;display:flex;position:relative;top:12px}.membership-notice.success{color:#2f6b2f;background:#eaf3ea;border:1px solid #cfe6cf}.membership-notice.error{color:#9a2323;background:#fbe6e6;border:1px solid #f0c7c7}.membership-notice.info{color:#6b5638;background:#f5f0e8;border:1px solid #e6dcc8}.membership-notice button{cursor:pointer;color:inherit;background:0 0;border:none;font-size:15px;font-weight:700}.layout{align-items:flex-start;gap:0;display:flex}.sidebar{background:#fff;border-right:1px solid #e8ddd0;flex-shrink:0;width:280px;padding:16px 16px 60px;position:sticky;top:80px}.sidebar h2{text-transform:uppercase;letter-spacing:.04em;color:#a6472b;margin:0 0 10px;font-size:14px}.clear-btn{color:#2c5f5a;cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:0;font-size:12px;text-decoration:underline}.clear-btn:disabled{color:#c2b6ab;cursor:default;text-decoration:none}details.facet{border-bottom:1px solid #f0e6d8;padding:8px 0}details.facet summary{cursor:pointer;color:#3a2a2a;justify-content:space-between;font-size:13.5px;font-weight:600;list-style:none;display:flex}details.facet summary::-webkit-details-marker{display:none}details.facet summary:after{content:"▾";color:#b08a3e;font-size:11px}details.facet[open] summary:after{content:"▴"}.facet-options{flex-direction:column;gap:5px;max-height:180px;margin-top:8px;padding-right:4px;display:flex;overflow-y:auto}.facet-options label{color:#4a3d3a;cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:flex}.facet-options label span.count{color:#a89484;margin-left:auto;font-size:11px}.facet-options input{accent-color:#2c5f5a;cursor:pointer}.facet-options label.zero{color:#c2b6ab}.main{flex:1;padding:20px 24px 60px}.result-summary{color:#6b5c53;margin-bottom:14px;font-size:13.5px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.results-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.sort-select{color:#6b5c53;align-items:center;gap:6px;font-size:13px;display:flex}.sort-select select{color:#2b2320;background:#fff;border:1px solid #e0d3c2;border-radius:6px;padding:6px 8px;font-size:13px}.refine-search{max-width:420px;position:relative}.refine-search input{color:#2b2320;background:#fff;border:1px solid #e0d3c2;border-radius:8px;width:100%;padding:9px 32px 9px 12px;font-size:13.5px}.refine-search input:focus{outline-offset:1px;outline:2px solid #c9a227}.refine-clear{color:#2c5f5a;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:15px;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pagination{color:#6b5c53;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 6px;font-size:13px;display:flex}.page-size{align-items:center;gap:6px;display:flex}.page-size select{color:#2b2320;background:#fff;border:1px solid #e0d3c2;border-radius:6px;padding:6px 8px;font-size:13px}.page-nav{align-items:center;gap:10px;display:flex}.page-nav button{color:#a6472b;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600}.page-nav button:hover:not(:disabled){background:#f3e3dc}.page-nav button:disabled{color:#c2b6ab;cursor:default;border-color:#ece1d3}.page-info{white-space:nowrap}.chip{color:#a6472b;background:#f3e3dc;border-radius:14px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.chip button{color:#2c5f5a;cursor:pointer;background:0 0;border:none;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.card{background:#fff;border:1px solid #ece1d3;border-radius:12px;flex-direction:column;gap:8px;height:100%;padding:16px;display:flex}.card .badge-row{flex-wrap:wrap;gap:6px;display:flex}.badge{border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.badge.diff-Beginner{color:#2f6b2f;background:#eaf3ea}.badge.diff-Intermediate{color:#9a6a10;background:#fdf1de}.badge.diff-Advanced{color:#9a2323;background:#fbe6e6}.badge.diff-Professional{color:#4a2f9a;background:#e9e3f7}.card h3{color:#241a18;margin:0;font-size:16.5px;font-weight:700;line-height:1.35}.card .book-line{color:#2c5f5a;font-size:12.5px;font-weight:600}.tag-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tag{font-family:var(--font-keyword);color:#5c4c3a;background:#ece1d3;border-radius:5px;padding:2px 7px;font-size:11px}.goal-tag{color:#a6472b;background:#f3e3dc;font-weight:700}.tempo-line{color:#6b5c53;margin-top:4px;font-size:12px}.video-line{margin-top:2px;font-size:12px}.video-line a{color:#2c5f5a;font-weight:600;text-decoration:none}.video-line .none{color:#a89484;font-style:italic}.course-banner{color:#fff;background:linear-gradient(135deg,#a6472b,#2c5f5a);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:16px 20px;font-size:13.5px;display:flex}.course-banner strong{font-size:14.5px}.course-btn{color:#3a2a06;white-space:nowrap;background:#c9a227;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none}.course-btn:hover{background:#d9b23f}.paywall-banner{background:linear-gradient(135deg,#fdf6e8,#f8ecd2);border:1px solid #e6cf98;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 6px;padding:16px 20px;display:flex}.paywall-banner strong{color:#a6472b}.locked-lesson{border-radius:12px;min-height:320px;margin:24px 0;position:relative;overflow:hidden}.locked-lesson-skeleton{filter:blur(6px);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:16px;display:flex}.locked-skeleton-block{background:#ece1d3;border-radius:10px}.locked-skeleton-video{height:220px}.locked-skeleton-notes{flex-direction:column;gap:10px;padding:18px;display:flex}.locked-skeleton-line{background:#d9c9b4;border-radius:6px;width:100%;height:12px}.locked-skeleton-line.short{width:55%}.locked-lesson-overlay{text-align:center;background:#fffaf38c;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.locked-lesson-icon{font-size:28px}.locked-lesson-title{color:#241a18;max-width:440px;margin:0;font-size:16px;font-weight:700}.locked-lesson-subtitle{color:#6b5c53;max-width:420px;margin:0 0 8px;font-size:13.5px}.pricing-notice{color:#4a3d3a;background:#fff7e8;border:1px solid #f0dfb8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:14px 18px;font-size:14px;display:flex}.pricing-notice-active{color:#2f6b2f;background:#eaf3ea;border-color:#cfe4cf;font-weight:600}.pricing-plans{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:560px;margin-top:20px;display:grid}.pricing-plan-card{text-align:center;background:#fff;border:1px solid #ece1d3;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:24px 20px;display:flex;position:relative}.pricing-plan-card h3{color:#6b5c53;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:15px}.pricing-plan-price{color:#241a18;margin:0;font-size:30px;font-weight:700}.pricing-plan-price span{color:#a89484;font-size:13px;font-weight:500}.pricing-plan-badge{color:#fff;background:#a6472b;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:-10px}.join-btn{color:#fff;cursor:pointer;background:#a6472b;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700}.empty-state{text-align:center;color:#a89484;padding:60px 0}.admin-customers-search{border:1px solid #e0d3c2;border-radius:8px;width:100%;max-width:320px;margin-bottom:16px;padding:10px 12px;font-size:14px;display:block}.admin-customers-table-wrap{border:1px solid #ece1d3;border-radius:12px;overflow-x:auto}.admin-customers-table{border-collapse:collapse;width:100%;font-size:13.5px}.admin-customers-table th,.admin-customers-table td{text-align:left;white-space:nowrap;padding:10px 14px}.admin-customers-table thead th{color:#2c5f5a;text-transform:uppercase;letter-spacing:.04em;background:#faf3ea;border-bottom:1px solid #ece1d3;font-size:12px;font-weight:700}.admin-customers-table tbody tr:not(:last-child) td{border-bottom:1px solid #f3ece2}.admin-customers-table tbody tr:hover{background:#faf3ea}.admin-comp-badge{color:#2c5f5a;margin-right:10px;font-size:12px;font-weight:700;display:inline-block}.admin-customers-bulk-bar{color:#4a3d3a;background:#fff7e8;border:1px solid #f0dfb8;border-radius:8px;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.admin-comp-toggle{color:#a6472b;cursor:pointer;background:#fff;border:1px solid #ece1d3;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.admin-comp-toggle:hover{background:#f3e3dc;border-color:#d9b8a3}.admin-comp-toggle:disabled{opacity:.6;cursor:default}.profile-header{align-items:center;gap:16px;margin-bottom:18px;display:flex}.profile-avatar{color:#fff;background:#2f5233;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;display:flex}.profile-header .course-heading{margin-bottom:4px}.profile-meta{color:#6b6a57;margin:0;font-size:13.5px}.profile-resume-card{background:#2f5233;border-radius:12px;flex-direction:column;gap:4px;margin-bottom:18px;padding:14px 16px;text-decoration:none;display:flex}.profile-resume-label{color:#c9e4c5;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.profile-resume-lesson{color:#fff;font-size:15px;font-weight:700}.profile-week{align-items:center;gap:6px;margin-bottom:18px;display:flex}.profile-week-label{color:#6b6a57;margin-right:4px;font-size:11px}.profile-week-dot{box-sizing:border-box;border:1.5px solid #e2ddc9;border-radius:50%;width:22px;height:22px}.profile-week-dot.active{background:#c1652f;border-color:#c1652f}.profile-progress-card{background:#fff;border:1px solid #e2ddc9;border-radius:12px;margin-bottom:28px;padding:14px 16px}.profile-progress-top{color:#232a20;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.profile-progress-count{color:#6b6a57;font-weight:400}.profile-progress-track{background:#e2ddc9;border-radius:3px;height:6px;overflow:hidden}.profile-progress-fill{background:#c1652f;height:100%}.profile-progress-maxed{color:#2f5233;text-align:center;font-size:13px;font-weight:700}.profile-section-heading{font-family:var(--font-subheading);color:#2f5233;border-bottom:1px solid #e2ddc9;margin:0 0 8px;padding-bottom:8px;font-size:15px;font-weight:700}.profile-history{background:#fff;border:1px solid #e2ddc9;border-radius:10px;overflow:hidden}.profile-history-row{border-bottom:1px solid #e2ddc9;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 14px;text-decoration:none;display:flex}.profile-history-row:last-child{border-bottom:none}.profile-history-row:hover{background:#f6f3ea}.profile-history-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-history-label{color:#c1652f;font-size:13px;font-weight:700}.profile-history-subtitle{color:#232a20;font-size:12px}.profile-history-date{color:#6b6a57;flex-shrink:0;font-size:12px}.loading{text-align:center;color:#2c5f5a;padding:80px 0;font-size:14px}.note{color:#a89484;margin-top:20px;font-size:11.5px;line-height:1.5}.teaching-map-page{max-width:100%;padding:24px}.teaching-map-intro{max-width:760px;margin-bottom:20px}.teaching-map-intro h2{font-family:var(--font-display);color:#a6472b;margin-bottom:8px;font-size:22px}.teaching-map-intro p{color:#6b5c53;font-size:13.5px;line-height:1.6}.teaching-map-back{color:#2c5f5a;margin-bottom:14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.bow-level-legend{border:1px solid #ece1d3;border-radius:10px;margin-bottom:22px;overflow:hidden}.bow-level-legend-title{color:#3a2a06;font-family:var(--font-subheading);text-align:center;background:#e8b273;padding:10px;font-size:18px;font-weight:700}.bow-level-legend-grid{grid-template-columns:repeat(4,1fr);display:grid}.bow-level-col{background:#fdf1de;border-right:1px solid #fff}.bow-level-col:last-child{border-right:none}.bow-level-col-header{text-align:center;background:#e8b273;border-top:1px solid #fff;padding:10px 12px}.bow-level-name{color:#3a2a06;font-size:13.5px;font-weight:700}.bow-level-label{color:#5c4111;margin-top:2px;font-size:12px;font-weight:600}.bow-level-items{flex-direction:column;gap:8px;margin:0;padding:10px 14px;list-style:none;display:flex}.bow-level-items li{color:#4a3d3a;font-size:12.5px;line-height:1.4}.teaching-map-scroll{border:1px solid #ece1d3;border-radius:10px;max-height:75vh;overflow:auto}.teaching-map-table{border-collapse:separate;border-spacing:0;white-space:nowrap;table-layout:fixed;background:#fff;font-size:12.5px;line-height:1.25}.teaching-map-table th,.teaching-map-table td{text-align:center;border-bottom:1px solid #fff;border-right:1px solid #fff;padding:6px 10px}.teaching-map-table thead th{color:#fff;z-index:2;background:#a6472b;font-weight:600;line-height:1.25;position:sticky;top:0}.teaching-map-table thead tr:nth-child(2) th{top:27px}.sticky-col{z-index:1;color:#3a2a2a;vertical-align:top;background:#fff;font-weight:600;position:sticky}.category-col{z-index:3;white-space:normal;background:#faf3ea;width:150px;left:0}.teaching-map-table tbody td.category-col{background:#faf3ea;padding:0}.category-col-inner{top:var(--category-top,102px);padding:6px 10px;position:sticky}.technique-col{left:var(--technique-left,150px);color:#5c4c3a;z-index:3;white-space:normal;width:260px;font-weight:400}.teaching-map-table thead th.category-col,.teaching-map-table thead th.technique-col{z-index:4;color:#fff;background:#a6472b}.bow-level-technique{font-family:var(--font-subheading);color:#a6472b;font-weight:700}.book-col{white-space:normal;width:190px;min-width:0}.tier-header{text-align:center;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.tier-header.tier-beginner{background:#6b8f71}.tier-header.tier-intermediate{color:#3a2a06;background:#c9a227}.tier-header.tier-advanced{background:#a6472b}.map-cell{text-align:center;color:#6b5c53;background:#fff;font-size:11.5px}.coverage-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.dot-beginner{background:#6b8f71}.dot-intermediate{background:#c9a227}.dot-advanced{background:#a6472b}.dot-professional{background:#5a3a9a}tr.row-tier-beginner td{background:#eef4ec}tr.row-tier-intermediate td{background:#fbf1dc}tr.row-tier-advanced td{background:#f7e9ee}.teaching-map-mobile{display:none}.mobile-desktop-hint{background:#fff7e8;border:1px solid #f0dfb8;border-radius:10px;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;display:flex}.mobile-desktop-hint-icon{font-size:16px;line-height:1.4}.mobile-desktop-hint p{color:#6b5c30;margin:0;font-size:13px;line-height:1.4}.mobile-book-picker{color:#a6472b;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;display:flex}.mobile-book-picker select{color:#2b2320;background:#fff;border:1px solid #e0d3c2;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600}.mobile-technique-list{border:1px solid #ece1d3;border-radius:10px;max-height:65vh;overflow-y:auto}.mobile-category-heading{z-index:2;color:#fff;background:#a6472b;padding:8px 12px;font-size:13px;font-weight:700;position:sticky;top:0}.mobile-technique-row{color:#3a2a2a;background:#fff;border-bottom:1px solid #fff;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;display:flex}.mobile-technique-name{flex:1}.mobile-technique-value{color:#6b5c53;white-space:nowrap;font-size:12px}@media (width<=760px){.layout{flex-direction:column}.sidebar{border-bottom:1px solid #e8ddd0;border-right:none;width:100%;max-height:none;position:static}.teaching-map-scroll{display:none}.teaching-map-mobile{display:block}.bow-level-legend-grid{grid-template-columns:1fr}.bow-level-col{border-bottom:1px solid #fff;border-right:none}}.card-clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s}.card-clickable:hover,.card-clickable:focus-visible{border-color:#d9b8a3;outline:none;box-shadow:0 4px 14px #6d1b3a24}.course-page{max-width:1100px;margin:0 auto;padding:24px}.legal-page{color:#3a2a2a;max-width:680px;margin:0 auto;padding:24px;line-height:1.6}.legal-page h3{font-family:var(--font-subheading);color:#2c5f5a;margin:24px 0 8px;font-size:15px}.legal-page p,.legal-page ul{margin:0 0 14px;font-size:14px}.legal-page ul{padding-left:20px}.legal-page li{margin-bottom:6px}.legal-page a{color:#a6472b}.legal-updated{color:#a89484;margin:-8px 0 20px;font-size:12.5px}.legal-draft-banner{color:#6b5c30;background:#fdf3e3;border:1px solid #ead9a8;border-radius:8px;margin-bottom:20px;padding:10px 14px;font-size:12.5px;line-height:1.5}.contact-form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.contact-form-honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact-form label{color:#3a2a2a;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.contact-form input,.contact-form textarea{font-family:var(--font-body);resize:vertical;border:1px solid #e0d3c2;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:400}.contact-form button{color:#fff;cursor:pointer;background:#a6472b;border:none;border-radius:8px;align-self:flex-start;padding:11px 20px;font-size:14px;font-weight:700}.contact-form button:disabled{opacity:.6;cursor:default}.blog-composer-toggle-wrap{margin-bottom:24px}.blog-composer{max-width:500px;margin-top:14px}.blog-composer textarea{min-height:160px}.blog-composer-toolbar{gap:6px;margin-bottom:6px;display:flex}.blog-composer-toolbar button{color:#4a3d3a;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:6px;padding:5px 10px;font-size:12.5px;font-weight:700}.blog-composer-toolbar button:hover{background:#f3e3dc}.blog-composer-preview-toggle{margin-left:auto}.blog-composer-preview{background:#faf3ea;border:1px solid #e0d3c2;border-radius:8px;min-height:160px;padding:10px 12px}.blog-composer-preview>:first-child{margin-top:0}.blog-composer-hint{color:#8a7a70;margin:6px 0 0;font-size:11.5px;font-weight:400}.blog-composer-hint code{background:#f3e3dc;border-radius:4px;padding:1px 5px;font-size:11px}.blog-post-heading{font-family:var(--font-subheading);color:#a6472b;margin:20px 0 8px}.blog-post-heading-sm{font-size:16px}.blog-composer-actions{align-items:center;gap:10px;display:flex}.blog-composer-cancel{color:#4a3d3a!important;background:#fff!important;border:1px solid #e0d3c2!important}.blog-post-admin-actions{gap:10px;margin-top:24px;display:flex}.blog-post-admin-actions .blog-delete-btn{margin-top:0}.blog-post-list{flex-direction:column;gap:14px;display:flex}.blog-post-card{color:inherit;background:#fff;border:1px solid #ece1d3;border-radius:12px;flex-direction:column;gap:4px;padding:18px 20px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.blog-post-card:hover{border-color:#d9b8a3;box-shadow:0 4px 14px #6d1b3a24}.blog-post-card h3{font-family:var(--font-display);color:#a6472b;margin:0;font-size:18px}.blog-post-date{color:#2c5f5a;font-size:12px;font-weight:600}.blog-post-card p{color:#4a3d3a;margin:6px 0 0;font-size:13.5px;line-height:1.5}.blog-delete-btn{color:#a6472b;cursor:pointer;background:#fff;border:1px solid #e0a99a;border-radius:8px;margin-top:24px;padding:9px 16px;font-size:13px;font-weight:600}.blog-delete-btn:hover{background:#f3e3dc}.blog-delete-btn:disabled{opacity:.6;cursor:default}.blog-post-image{border-radius:10px;max-width:100%;margin:8px 0;display:block}.blog-post-video{aspect-ratio:16/9;border-radius:10px;width:100%;max-width:640px;margin:8px 0;position:relative;overflow:hidden}.blog-post-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.site-footer{border-top:1px solid #ece1d3;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:20px;padding:24px 20px 40px;display:flex}.site-footer a{color:#6b5c53;font-size:12.5px;text-decoration:none}.site-footer a:hover{color:#a6472b;text-decoration:underline}.course-back{color:#2c5f5a;margin-bottom:16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.course-heading{font-family:var(--font-display);color:#a6472b;margin:0 0 6px;font-size:24px}.course-subheading{color:#6b5c53;margin:0 0 20px;font-size:13.5px;font-weight:500}.fundamentals-banner{background:linear-gradient(135deg,#a6472b,#2c5f5a);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:18px 22px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.fundamentals-banner:hover{transform:translateY(-1px);box-shadow:0 6px 18px #6d1b3a4d}.fundamentals-banner h3{font-family:var(--font-subheading);color:#fff;margin:0 0 4px;font-size:17px}.fundamentals-banner p{color:#f3e3dc;max-width:520px;margin:0;font-size:13px}.fundamentals-banner-arrow{color:#fff;flex-shrink:0;font-size:22px}.course-book-group{margin-bottom:28px}.course-book-group-heading{font-family:var(--font-subheading);color:#2c5f5a;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #ece1d3;margin:0 0 12px;padding-bottom:8px;font-size:15px}.course-book-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.course-book-card{background:#fff;border:1px solid #ece1d3;border-radius:12px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.course-book-card:hover{border-color:#d9b8a3;box-shadow:0 4px 14px #6d1b3a24}.course-book-card h3{color:#241a18;margin:0;font-size:16px}.course-book-card span{color:#2c5f5a;font-size:12.5px;font-weight:600}.course-book-card .course-book-progress{color:#a6472b}.course-book-library-btn{color:#4a3d3a;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11.5px;font-weight:600}.course-book-library-btn:hover:not(:disabled):not(.active){color:#a6472b;border-color:#a6472b}.course-book-library-btn.active:hover:not(:disabled){background:#244d49;border-color:#244d49}.course-book-library-btn.active{color:#fff;background:#2c5f5a;border-color:#2c5f5a}.course-book-library-btn:disabled{opacity:.6;cursor:default}.lang-toggle{background:#fff;border:1px solid #ece1d3;border-radius:8px;flex-shrink:0;display:flex;overflow:hidden}.lang-toggle-fixed{z-index:20;position:fixed;top:84px;right:24px;box-shadow:0 4px 14px #6d1b3a1f}.lang-toggle button{color:#6b5c53;cursor:pointer;white-space:nowrap;background:#fff;border:none;padding:8px 14px;font-size:12.5px;font-weight:600}.lang-toggle button:not(:last-child){border-right:1px solid #ece1d3}.lang-toggle button.active{color:#fff;background:#a6472b}@media (width<=640px){.lang-toggle-fixed{width:100%;box-shadow:none;margin:0 0 4px;position:static;top:auto;right:auto}.lang-toggle{justify-content:center}.lang-toggle button{flex:1}}.fundamentals-part-body{flex-direction:column;gap:20px;display:flex}.fundamentals-module-heading{font-family:var(--font-subheading);color:#4a3d3a;margin:0 0 10px;font-size:13.5px;font-weight:700}.fundamentals-topic-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.fundamentals-topic-card{background:#fff;border:1px solid #ece1d3;border-radius:12px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex;position:relative}.fundamentals-card-icon{color:#a6472b;background:#f3e3dc;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;display:flex;position:absolute;top:12px;right:12px}.fundamentals-topic-card:hover{border-color:#d9b8a3;box-shadow:0 4px 14px #6d1b3a24}.fundamentals-topic-card h3{font-family:var(--font-body);letter-spacing:-.02em;color:#2d2d2d;margin:0;padding-right:30px;font-size:15px;font-weight:600;line-height:1.4}.fundamentals-group-toggle{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ece1d3;justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;padding:0 0 8px;display:flex}.fundamentals-group-toggle h3{border-bottom:none;margin:0;padding:0}.fundamentals-group-toggle span{color:#2c5f5a;white-space:nowrap;font-size:12.5px;font-weight:600}.sheet-music-links{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.sheet-music-link-btn{color:#a6472b;white-space:nowrap;background:#fff;border:1px solid #e0d3c2;border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:600;text-decoration:none}.sheet-music-link-btn:hover{background:#fbf2ea;border-color:#a6472b}.course-number-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.course-number-card{background:#fff;border:1px solid #ece1d3;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex;position:relative}.course-number-card:hover{border-color:#d9b8a3;box-shadow:0 4px 14px #6d1b3a24}.course-number-video-badge{color:#fff;white-space:nowrap;background:#a6472b;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:700;position:absolute;top:-8px;right:10px;box-shadow:0 2px 6px #6d1b3a40}.course-number-label{color:#a6472b;font-size:13.5px;font-weight:700}.course-number-subtitle{color:#4a3d3a;font-size:13px;line-height:1.4}.lesson-header{margin-bottom:12px}.lesson-header .course-heading{margin-top:8px}.lesson-panels{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px;display:grid}.lesson-panel{background:#fff;border:1px solid #ece1d3;border-radius:12px;padding:18px}.lesson-panel h3{color:#3a2a2a;margin:0 0 12px;font-size:14px}.lesson-panel-notes-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-panel-notes-header h3{margin:0 0 12px}.tune-first-panel{flex-direction:column;gap:12px;margin:16px 0 0;display:flex}.tune-first-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tune-first-label{color:#6b5c53;min-width:78px;font-size:12.5px;font-weight:600}.tuner-buttons{gap:6px;display:flex}.tuner-btn{color:#a6472b;cursor:pointer;background:#fff;border:1px solid #ece1d3;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}.tuner-btn.active{color:#fff;background:#a6472b;border-color:#a6472b}.metronome-bpm-input{color:#2a211d;border:1px solid #ece1d3;border-radius:8px;width:56px;padding:5px 8px;font-size:12.5px}.metronome-bpm-unit{color:#6b5c53;font-size:12px}.metronome-toggle{color:#2c5f5a;cursor:pointer;background:#fff;border:1px solid #ece1d3;border-radius:8px;padding:6px 14px;font-size:12.5px;font-weight:600}.metronome-toggle.active{color:#fff;background:#2c5f5a;border-color:#2c5f5a}.tempo-log-btn{color:#6b5c53;cursor:pointer;background:0 0;border:1px dashed #e0d3c2;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.tempo-log-btn:hover{color:#a6472b;border-color:#a6472b}.tempo-log-history{color:#6b5c53;font-size:12px}.tempo-log-history-label{font-weight:600}.tempo-graph{align-items:flex-end;gap:10px;margin-top:8px;padding-bottom:2px;display:flex;overflow-x:auto}.tempo-graph-bar-col{flex-direction:column;align-items:center;gap:3px;min-width:28px;display:flex}.tempo-graph-bpm{color:#3a2a2a;font-size:10.5px;font-weight:600}.tempo-graph-bar-track{align-items:flex-end;width:14px;height:60px;display:flex}.tempo-graph-bar{background:#2c5f5a;border-radius:3px 3px 0 0;width:100%;min-height:4px}.tempo-graph-date{color:#a89484;font-size:9.5px}.practice-feedback-panel{margin-top:16px}.practice-feedback-intro{margin:0 0 12px;line-height:1.5}.practice-record-btn{color:#a6472b}.practice-record-btn.active{background:#a6472b;border-color:#a6472b}.practice-feedback-error{color:#9a2323;margin-top:10px}.practice-playback{width:100%;margin-top:16px}.video-embed{background:#000;border-radius:8px;padding-top:56.25%;position:relative;overflow:hidden}.video-embed iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.video-expand-btn{color:#fff;cursor:pointer;background:#0000008c;border:1px solid #fff6;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600;position:absolute;bottom:10px;right:10px}.video-expand-btn:hover{background:#000000bf}.video-clip-list{flex-direction:column;gap:16px;max-height:560px;display:flex;overflow-y:auto}.video-clip-label{color:#a6472b;margin:0 0 6px;font-size:13px;font-weight:600}.video-clip video{background:#000;border-radius:8px;width:100%;display:block}.lesson-panel-notes{grid-column:1/-1}.lesson-notes-content h2{font-family:var(--font-subheading);color:#a6472b;border-bottom:1px solid #f0e6d8;margin:20px 0 8px;padding-bottom:4px;font-size:15.5px;font-weight:700}.lesson-notes-content h2:first-child{margin-top:0}.lesson-section{border:1px solid #f0e6d8;border-radius:8px;margin:14px 0;padding:12px 14px}.lesson-section+.lesson-section{margin-top:10px}.lesson-section summary{font-family:var(--font-subheading);color:#a6472b;cursor:pointer;font-size:15.5px;font-weight:700;list-style:none}.lesson-section summary::-webkit-details-marker{display:none}.lesson-section summary:before{content:"▸ ";width:14px;display:inline-block}.lesson-section[open] summary:before{content:"▾ "}.lesson-section[open] summary{border-bottom:1px solid #f0e6d8;margin-bottom:8px;padding-bottom:8px}.lesson-section>:last-child{margin-bottom:0}.lesson-notes-content h3{color:#a6472b;margin:16px 0 6px;font-size:14px;font-weight:700}.lesson-notes-content p{color:#4a3d3a;margin:6px 0;font-size:13.5px;line-height:1.65}.lesson-image{margin:14px 0}.lesson-image img{border:1px solid #ece1d3;border-radius:8px;width:100%;height:auto;display:block}.lesson-image figcaption{color:#6b5c53;text-align:center;margin-top:6px;font-size:12px}.lesson-video{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;margin:14px 0;overflow:hidden}.lesson-video-vertical{aspect-ratio:9/16;width:100%;max-width:240px;margin-left:auto;margin-right:auto}.lesson-video iframe{border:none;width:100%;height:100%}.lesson-notes-content ul,.lesson-notes-content ol{margin:6px 0 12px 20px;padding:0}.lesson-notes-content li{color:#4a3d3a;margin-bottom:5px;font-size:13.5px;line-height:1.65}.lesson-notes-content strong{color:#241a18;font-weight:700}.lesson-notes-content a{color:#2c5f5a;font-weight:600;text-decoration:underline}.lesson-panel-sheet-music{grid-column:1/-1}.sheet-music-toggle{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.sheet-music-toggle h3{margin:0}.sheet-music-toggle span{color:#2c5f5a;white-space:nowrap;font-size:12.5px;font-weight:600}.sheet-music-image{border:1px solid #ece1d3;border-radius:8px;width:100%;height:auto;margin-top:14px;display:block}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 140px);padding:40px 20px;display:flex}.login-card{text-align:center;background:#fff;border:1px solid #ece1d3;border-radius:16px;width:100%;max-width:380px;padding:40px 32px 32px;box-shadow:0 8px 28px #6d1b3a14}.login-icon{background:linear-gradient(135deg,#a6472b,#2c5f5a);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:18px;font-size:26px;display:inline-flex}.login-heading{font-family:var(--font-display);color:#a6472b;margin:0 0 8px;font-size:24px}.login-subheading{color:#6b5c53;margin:0 0 24px;font-size:13.5px;line-height:1.5}.login-subheading strong{color:#3a2a2a}.login-google-btn{box-sizing:border-box;color:#3a2a2a;width:100%;font-family:var(--font-body);cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.login-google-btn:hover{background:#faf3ea;box-shadow:0 2px 8px #6d1b3a14}.login-divider{color:#a89484;align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#ece1d3;flex:1;height:1px}.login-magic-form{flex-direction:column;gap:10px;display:flex}.login-magic-form input{box-sizing:border-box;width:100%;font-family:var(--font-body);border:1px solid #e0d3c2;border-radius:8px;padding:11px 14px;font-size:14px}.login-magic-form button{color:#fff;cursor:pointer;background:#a6472b;border:none;border-radius:8px;width:100%;padding:12px 16px;font-size:14px;font-weight:700}.login-magic-form button:disabled{opacity:.6;cursor:default}.login-magic-sent{color:#2c5f5a;background:#faf3ea;border:1px solid #ece1d3;border-radius:8px;margin:0;padding:12px 14px;font-size:13.5px;line-height:1.5}.login-magic-error{color:#a6472b;margin:0;font-size:12.5px}.login-back-link{color:#2c5f5a;margin-top:22px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-block}.login-back-link:hover{text-decoration:underline}.homework-assign-form{background:#fff;border:1px solid #ece1d3;border-radius:10px;flex-direction:column;gap:10px;max-width:600px;margin:16px 0 28px;padding:16px;display:flex}.homework-assign-form h3{color:#3a2a2a;margin:0 0 4px;font-size:14px}.homework-assign-form select,.homework-assign-form input,.homework-assign-form textarea{box-sizing:border-box;width:100%;font-size:13.5px;font-family:var(--font-body);color:#3a2a2a;background:#faf3ea;border:1px solid #e0d3c2;border-radius:8px;padding:10px 12px}.homework-curriculum-picker{flex-direction:column;gap:6px;display:flex}.homework-curriculum-picker-label{color:#6b5c53;font-size:12px;font-weight:600}.homework-curriculum-picker-row{gap:8px;display:flex}.homework-curriculum-picker-row select{flex:1;width:auto}.homework-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.homework-item{background:#fff;border:1px solid #ece1d3;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.homework-item.done{opacity:.55}.homework-item.done .homework-item-body a{text-decoration:line-through}.homework-checkbox{padding-top:2px}.homework-item-body{flex:1}.homework-item-body a{color:#a6472b;font-size:14px;font-weight:600;text-decoration:none}.homework-item-body a:hover{text-decoration:underline}.homework-item-note{color:#6b5c53;margin:4px 0 0;font-size:12.5px}.homework-delete-btn{color:#a89484;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.homework-delete-btn:hover{color:#a6472b}.assign-homework{margin-top:10px;position:relative}.assign-homework-btn{color:#3a2a2a;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600}.assign-homework-btn:hover{background:#faf3ea}.lesson-bookmark-btn{color:#3a2a2a;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;margin-left:8px;padding:7px 12px;font-size:12.5px;font-weight:600}.lesson-bookmark-btn:hover{background:#faf3ea}.lesson-bookmark-btn.active{color:#a6472b;background:#f3e3dc;border-color:#d9b8a3}.lesson-bookmark-btn:disabled{opacity:.6;cursor:default}.practice-routine-add-btn{color:#3a2a2a;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;margin-left:8px;padding:7px 12px;font-size:12.5px;font-weight:600}.practice-routine-add-btn:hover:not(:disabled){background:#faf3ea}.practice-routine-add-btn:disabled{opacity:.6;cursor:default}.lesson-complete-btn{color:#3a2a2a;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;margin-left:8px;padding:7px 12px;font-size:12.5px;font-weight:600}.lesson-complete-btn:hover{background:#faf3ea}.lesson-complete-btn.active{color:#2c5f5a;background:#e1f0eb;border-color:#a9cfc0}.lesson-complete-btn:disabled{opacity:.6;cursor:default}.assign-homework-popover{z-index:10;background:#fff;border:1px solid #ece1d3;border-radius:10px;flex-direction:column;gap:8px;width:min(260px,100vw - 32px);padding:14px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #6d1b3a1f}.homework-assign-students{background:#faf3ea;border:1px solid #e0d3c2;border-radius:8px;flex-direction:column;gap:6px;max-height:160px;padding:8px 10px;display:flex;overflow-y:auto}.homework-assign-students-header{color:#6b5c53;justify-content:space-between;align-items:center;margin-bottom:2px;font-size:12px;font-weight:600;display:flex}.homework-assign-select-all{color:#a6472b;cursor:pointer;background:0 0;border:none;padding:0;font-size:11.5px;font-weight:600}.homework-assign-student-checkbox{color:#2a211d;cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.homework-assign-student-checkbox input{flex-shrink:0;width:auto}.homework-assign-student-name{overflow-wrap:break-word;flex:1;min-width:0;font-weight:600}.homework-assign-student-email{color:#6b5c53;font-size:12px;font-weight:400}.homework-date-range{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.homework-date-range label{color:#6b5c53;align-items:center;gap:6px;font-size:12.5px;display:flex}.homework-date-range input[type=date]{font-size:12.5px;font-family:var(--font-body);color:#2a211d;border:1px solid #e0d3c2;border-radius:8px;padding:6px 8px}.homework-practice-window{color:#2c5f5a;margin:4px 0 0;font-size:12.5px;font-weight:600}.homework-repeat-badge{color:#8a6a1f;background:#fff7e8;border:1px solid #f0dfb8;border-radius:999px;width:fit-content;margin:6px 0 0;padding:2px 9px;font-size:11.5px;font-weight:600;display:block}.homework-item-title{color:#a6472b;font-size:14px;font-weight:600}.homework-item-details-row{align-items:center;gap:12px;margin-top:6px;display:flex}.homework-item-details-col{flex:1;min-width:0}.homework-item-details-col:not(:first-child){border-left:1px solid #ece1d3;padding-left:12px}.homework-item-details-col .homework-practice-window,.homework-item-details-col .practice-counter{margin-top:0}.homework-invite-banner{background:#fff7e8;border:1px solid #f0dfb8;border-radius:10px;margin-bottom:18px;padding:14px 16px}.homework-invite-label{color:#8a6a1f;margin-right:10px;font-size:12.5px;font-weight:600}.homework-invite-code{font-family:var(--font-display);letter-spacing:2px;color:#3a2a2a;font-size:20px;font-weight:700}.homework-invite-banner .note{margin:4px 0 10px}.homework-invite-copy-btn{color:#6b5c53;cursor:pointer;background:#fff;border:1px solid #e6d9c8;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.homework-invite-copy-btn:hover{color:#a6472b;border-color:#a6472b}.homework-role-toggle{gap:8px;margin-bottom:18px;display:flex}.homework-role-toggle button{color:#6b5c53;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:600}.homework-role-toggle button.active{color:#fff;background:#a6472b;border-color:#a6472b}.homework-connect-prompt{background:#faf3ea;border:1px solid #ece1d3;border-radius:10px;margin-bottom:18px;padding:12px 14px}.homework-connect-prompt .note{margin:0 0 8px}.homework-connect-prompt .homework-self-add-toggle,.homework-connect-prompt .homework-self-add-form{margin-bottom:0}.homework-teacher-status{background:#faf3ea;border:1px solid #ece1d3;border-radius:10px;margin-bottom:18px;padding:12px 14px}.homework-teacher-status .note{color:#3a2a2a;margin:0 0 8px}.homework-teacher-status .note strong{color:#a6472b}.homework-teacher-status .homework-self-add-toggle,.homework-teacher-status .homework-self-add-form{margin-bottom:0}.homework-self-add-toggle{color:#6b5c53;cursor:pointer;background:0 0;border:1px dashed #e0d3c2;border-radius:8px;margin-bottom:18px;padding:8px 14px;font-size:13px;font-weight:600;display:block}.homework-self-add-toggle:hover{color:#a6472b;border-color:#a6472b}.homework-self-add-form{background:#fff;border:1px solid #ece1d3;border-radius:10px;flex-direction:column;gap:8px;max-width:420px;margin-bottom:18px;padding:14px;display:flex}.homework-self-add-form input{box-sizing:border-box;width:100%;font-size:13px;font-family:var(--font-body);background:#faf3ea;border:1px solid #e0d3c2;border-radius:8px;padding:8px 10px}.homework-repeat-choices{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.homework-repeat-choices-label{color:#6b5c53;margin-right:2px;font-size:12.5px;font-weight:600}.homework-repeat-choice{color:#6b5c53;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}.homework-repeat-choice.active{color:#fff;background:#a6472b;border-color:#a6472b}.homework-self-add-actions{gap:8px;display:flex}.homework-self-add-actions button[type=button]{color:#a89484;cursor:pointer;background:0 0;border:none;font-size:12.5px}.practice-counter{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.practice-counter-apples{flex-wrap:wrap;gap:2px;display:flex}.practice-apple{filter:grayscale()opacity(.35);font-size:15px}.practice-apple.filled{filter:none}.practice-counter-controls{color:#6b5c53;align-items:center;gap:6px;font-size:12px;display:flex}.practice-counter-controls button{color:#3a2a2a;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:50%;width:22px;height:22px;font-size:13px;line-height:1}.practice-counter-controls button:disabled{opacity:.4;cursor:default}.homework-roster{border-top:1px solid #ece1d3;margin-top:32px;padding-top:20px}.homework-roster h3{color:#3a2a2a;margin:0 0 14px;font-size:14px}.homework-roster-student{background:#fff;border:1px solid #ece1d3;border-radius:10px;margin-bottom:20px;padding:14px}.homework-roster-student-header{color:#3a2a2a;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;margin-bottom:8px;padding:0;font-family:inherit;font-size:13px;font-weight:600;display:flex}.homework-roster-student-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.homework-roster-chevron{color:#a89484;flex-shrink:0;transition:transform .15s;display:inline-block}.homework-roster-chevron.open{transform:rotate(90deg)}.homework-roster-stat{color:#2c5f5a;flex-shrink:0;font-size:12px;font-weight:600}.homework-roster-search{border:1px solid #e0d3c2;border-radius:8px;width:100%;max-width:320px;margin-bottom:16px;padding:10px 12px;font-size:14px;display:block}.homework-list-compact .homework-item{gap:8px;padding:8px 10px}.homework-list-compact .homework-item-body a{font-size:13px}.homework-feedback-text{color:#3a2a2a;background:#faf3ea;border-left:3px solid #a6472b;border-radius:8px;margin:6px 0 0;padding:6px 10px;font-size:12.5px}.homework-feedback-toggle{color:#a6472b;cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12px}.homework-feedback-toggle:hover{text-decoration:underline}.homework-feedback-editor{flex-direction:column;gap:6px;margin-top:6px;display:flex}.homework-feedback-editor textarea{box-sizing:border-box;width:100%;font-size:12.5px;font-family:var(--font-body);resize:vertical;border:1px solid #e0d3c2;border-radius:8px;padding:8px 10px}.homework-feedback-editor-actions{gap:8px;display:flex}.homework-feedback-editor-actions button:last-child{color:#a89484;cursor:pointer;background:0 0;border:none;font-size:12.5px}.audio-feedback-recorder{margin-top:4px}.audio-feedback-btn,.video-submission-btn{color:#6b5c53;cursor:pointer;background:0 0;border:1px dashed #e0d3c2;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.audio-feedback-btn:hover,.video-submission-btn:hover{color:#a6472b;border-color:#a6472b}.audio-feedback-btn.recording,.video-submission-btn.recording{color:#fff;background:#a6472b;border-style:solid;border-color:#a6472b}.feedback-audio-player{max-width:260px;height:32px;margin:6px 0;display:block}.video-submission-recorder,.audio-submission-recorder{margin-top:6px}.video-submission-preview{background:#000;border-radius:8px;width:160px;max-width:100%;margin-bottom:6px;display:block}.homework-submission{margin-top:6px}.homework-submission-label{color:#6b5c53;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.homework-submission-video{border-radius:8px;width:200px;max-width:100%;display:block}.board-composer{background:#fff;border:1px solid #ece1d3;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px;display:flex}.board-signin-prompt{color:#6b5c53;background:#faf3ea;border:1px solid #ece1d3;border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:13px}.board-composer-text{resize:vertical;width:100%;font:inherit;color:#3a2e26;border:1px solid #ece1d3;border-radius:8px;padding:8px 10px;font-size:13.5px}.board-composer-attachments{flex-wrap:wrap;gap:10px;display:flex}.board-attachment-recorder{align-items:center;gap:6px;display:flex}.board-attachment-ready{color:#6b5c53;font-size:12.5px;font-weight:600}.board-attachment-clear{color:#a89484;cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.board-attachment-clear:hover{color:#a6472b}.board-post-btn{align-self:flex-end}.board-post-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.board-post{background:#fff;border:1px solid #ece1d3;border-radius:10px;padding:14px}.board-post-header{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.board-post-author{color:#3a2e26;font-size:13.5px;font-weight:600}.board-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10.5px;font-weight:600}.board-badge-teacher{color:#a6472b;background:#fdeee4}.board-badge-tier-beginner{color:#6b5c53;background:#f1efe8}.board-badge-tier-rising{color:#3b6d11;background:#eaf3de}.board-badge-tier-pro{color:#8a6a1f;background:#fff7e8}.board-badge-tier-virtuoso{color:#6b3f78;background:#f3eaf5}.board-badge-streak{color:#a32d2d;background:#fcebea}.board-post-time{color:#a89484;flex:1;font-size:12px}.board-post-delete{color:#a89484;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.board-post-delete:hover{color:#a6472b}.board-post-text{color:#3a2e26;white-space:pre-wrap;margin:0 0 8px;font-size:14px}.board-sort-toggle{gap:6px;margin-bottom:12px;display:flex}.board-sort-toggle button{color:#6b5c53;cursor:pointer;background:#fff;border:1px solid #e0d3c2;border-radius:8px;padding:5px 12px;font-size:12.5px;font-weight:600}.board-sort-toggle button.active{color:#fff;background:#a6472b;border-color:#a6472b}.board-comment-list{border-top:1px dashed #ece1d3;flex-direction:column;gap:8px;margin:10px 0 0;padding:10px 0 0;list-style:none;display:flex}.board-comment{font-size:13px}.board-comment-row{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.board-comment-author{color:#6b5c53;flex-shrink:0;font-weight:600}.board-comment-text{color:#3a2e26;flex:1}.board-comment-reply-toggle{color:#a89484;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:11.5px;font-weight:600}.board-comment-reply-toggle:hover{color:#a6472b}.board-comment-delete{color:#a89484;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:12px}.board-comment-delete:hover{color:#a6472b}.board-reply-list{border-left:2px solid #ece1d3;flex-direction:column;gap:6px;margin:6px 0 0;padding:0 0 0 18px;list-style:none;display:flex}.board-reply{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.board-comment-form{gap:8px;margin-top:10px;display:flex}.board-comment-form-compact{margin:6px 0 0 18px}.board-comment-form input{font:inherit;border:1px solid #ece1d3;border-radius:8px;flex:1;padding:6px 10px;font-size:13px}.board-comment-form button{color:#6b5c53;cursor:pointer;background:0 0;border:1px solid #e0d3c2;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}.board-comment-form button:hover{color:#a6472b;border-color:#a6472b}.daily-tip{background:#fff7e8;border:1px solid #f0dfb8;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;display:flex}.daily-tip-icon{font-size:16px;line-height:1.4}.daily-tip-text{color:#3a2a2a;flex:1;margin:0;font-size:13px;line-height:1.5}.daily-tip-dismiss{color:#a89484;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px}.daily-tip-dismiss:hover{color:#a6472b}.practice-progress{background:#fff;border:1px solid #ece1d3;border-radius:10px;margin-bottom:18px;padding:14px}.practice-progress-stats{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;display:flex}.practice-progress-stat{color:#3a2a2a;font-size:13px;font-weight:600}.practice-progress-badge{color:#8a6a1f;background:#fff7e8;border:1px solid #f0dfb8;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.practice-calendar-label{color:#6b5c53;margin-bottom:6px;font-size:12px;font-weight:600}.practice-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;max-width:260px;display:grid}.practice-calendar-cell{aspect-ratio:1;color:#a89484;background:#faf3ea;border-radius:5px;justify-content:center;align-items:center;font-size:11px;display:flex;position:relative}.practice-calendar-cell.empty{background:0 0}.practice-calendar-cell.active{color:#fff;background:#2c5f5a;font-weight:600}.practice-calendar-cell.practice-calendar-heading{color:#6b5c53;background:0 0;font-weight:600}.practice-calendar-cell.scheduled:after{content:"";background:#a6472b;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.practice-calendar-cell.active.scheduled:after{background:#fff}.practice-calendar-day{cursor:pointer;font-family:var(--font-body);border:none;padding:0}.practice-calendar-day:hover,.practice-calendar-day.open{outline-offset:-2px;outline:2px solid #a6472b}.practice-calendar.compact{margin-top:6px}.practice-calendar.compact .practice-calendar-grid{gap:2px;max-width:200px}.practice-calendar.compact .practice-calendar-cell{border-radius:3px;font-size:9.5px}.practice-calendar.compact .practice-calendar-label{margin-bottom:4px;font-size:11px}.practice-calendar-panel{text-align:left;background:#fff;border:1px solid #ece1d3;border-radius:10px;width:min(280px,100%);margin-top:10px;padding:10px}.practice-calendar-popover-header{color:#3a2a2a;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12.5px;font-weight:700;display:flex}.practice-calendar-popover-close{color:#a89484;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.practice-calendar-popover-items{color:#6b5c53;margin:0 0 8px;padding-left:16px;font-size:11.5px}.practice-calendar-popover-form{flex-direction:column;gap:6px;display:flex}.practice-calendar-popover-form input{box-sizing:border-box;font-size:12.5px;font-family:var(--font-body);border:1px solid #e0d3c2;border-radius:6px;padding:6px 8px}.practice-calendar-popover-form .homework-repeat-choices{gap:4px}.practice-calendar-popover-form .homework-repeat-choice{padding:4px 8px;font-size:11px}.practice-calendar-popover-form .homework-self-add-actions{align-items:center;gap:8px;display:flex}.practice-calendar-popover-form .homework-self-add-actions button[type=button]{color:#a89484;cursor:pointer;background:0 0;border:none;font-size:12px}.practice-calendar-panel .homework-self-add-toggle{margin-bottom:0;padding:6px 10px;font-size:12px}@media (width<=640px){.course-page{padding:16px}.homework-assign-form,.homework-self-add-form{max-width:none}.homework-date-range{flex-direction:column;align-items:stretch;gap:8px}.homework-date-range label{justify-content:space-between}.homework-date-range input[type=date]{flex:1;min-width:0}.homework-item{flex-wrap:wrap}.practice-calendar-grid{max-width:100%}}.onboarding-page{max-width:640px}.onboarding-form{flex-direction:column;gap:20px;margin-top:8px;display:flex}.onboarding-role-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.onboarding-role-card{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #ece1d3;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.onboarding-role-card:hover{border-color:#d9b8a3}.onboarding-role-card.selected{border-color:#a6472b;box-shadow:0 0 0 2px #a6472b26}.onboarding-role-icon{font-size:24px}.onboarding-role-title{font-family:var(--font-display);color:#a6472b;font-size:15px;font-weight:700}.onboarding-role-description{color:#6b5c53;font-size:12.5px;line-height:1.5}.onboarding-name-field{flex-direction:column;gap:6px;max-width:300px;margin-bottom:20px;display:flex}.onboarding-name-field label{color:#3a2a2a;font-size:12.5px;font-weight:600}.onboarding-name-field input{box-sizing:border-box;font-size:14px;font-family:var(--font-body);background:#faf3ea;border:1px solid #e0d3c2;border-radius:8px;padding:10px 12px}.onboarding-invite-field{flex-direction:column;gap:6px;max-width:300px;display:flex}.onboarding-invite-field label{color:#3a2a2a;font-size:12.5px;font-weight:600}.onboarding-invite-field input{box-sizing:border-box;font-size:14px;font-family:var(--font-body);text-transform:uppercase;background:#faf3ea;border:1px solid #e0d3c2;border-radius:8px;padding:10px 12px}.onboarding-submit{align-self:flex-start;padding:11px 28px}.welcome-guide{flex-direction:column;gap:18px;margin:24px 0;display:flex}.welcome-guide h3{font-family:var(--font-subheading);color:#a6472b;margin:0 0 4px;font-size:16px;font-weight:700}.welcome-guide p{margin:0}.welcome-signoff{margin-top:28px;font-style:italic}.welcome-cta{margin-top:20px;display:inline-block}.faq-list{flex-direction:column;gap:10px;margin:20px 0;display:flex}.faq-item summary{font-size:16px}.faq-item p+p{margin-top:12px}
