:root{color-scheme:light;--bg: #f7f4ef;--surface: #ffffff;--surface-strong: #f0f5f4;--ink: #1c2220;--muted: #68706d;--line: #d9ded9;--teal: #0f766e;--teal-dark: #0d5f58;--ruby: #b4234a;--amber: #b7791f;--green-soft: #e3f4ed;--ruby-soft: #f9e5eb;--shadow: 0 18px 50px rgba(37, 44, 39, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border-bottom:1px solid var(--line);background:#ffffffe0;backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.eyebrow{margin:0 0 3px;color:var(--teal);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1}h2{margin-bottom:0;font-size:1rem}.header-actions,.section-heading,.inline-input,.button,.tab-bar,.segmented,.beat-dots{display:flex;align-items:center}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.workspace{flex:1;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;padding:18px}.side-panel,.main-panel{min-width:0}.side-panel{display:flex;flex-direction:column;gap:14px}.tool-section,.main-panel,.timeline-summary,.practice-stage,.practice-controls,.sheet-view{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.tool-section{padding:16px}.section-heading{gap:8px;margin-bottom:14px}.section-heading svg{color:var(--teal)}.field-label,.metric-grid label,.control-strip label,.practice-controls label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}input,select,textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:9px 11px}textarea{min-height:120px;resize:vertical}.tool-section input+.field-label,.tool-section .field-label+.inline-input,.tool-section .field-label+input{margin-top:8px}.inline-input{gap:8px}.inline-input svg{flex:0 0 auto;color:var(--muted)}.media-search-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.media-search-row svg{color:var(--muted)}.youtube-result-list{display:grid;gap:8px;margin-top:10px}.youtube-result{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px;color:var(--ink);text-align:left}.youtube-result img{width:86px;aspect-ratio:16 / 9;object-fit:cover;border-radius:6px;background:var(--surface-strong)}.youtube-result span{min-width:0;display:grid;gap:3px}.youtube-result strong,.youtube-result small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-result small{color:var(--muted);font-weight:800}.youtube-panel{margin-top:12px}.youtube-panel iframe{width:100%;aspect-ratio:16 / 9;display:block;border:0;border-radius:8px;background:#111}.button{min-height:40px;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:9px 13px;font-weight:800}.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:var(--teal-dark)}.button.secondary{background:#1f3d3a;color:#fff}.button.ghost{background:var(--surface-strong);border-color:var(--line);color:var(--ink)}.button:disabled{cursor:not-allowed;opacity:.55}.button.full{width:100%;margin-top:12px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.notice,.warning,.status,.small-muted{margin:10px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.notice{color:var(--teal-dark)}.warning,.status.error{color:var(--ruby)}.status.done{color:var(--teal)}.status.working{color:var(--amber)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.sync-panel{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.sync-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.sync-summary strong{color:var(--teal-dark)}.sync-summary span{color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.sync-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sync-action-grid .button{min-height:34px;justify-content:center;padding:7px 8px;font-size:.78rem}.sync-anchor-list{display:flex;flex-wrap:wrap;gap:6px}.sync-anchor-list span{padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:900}.advanced-sync-tools{margin-top:10px}.advanced-sync-tools summary{cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:900}.advanced-sync-tools>.button{margin-top:10px}.tap-tempo-button{min-height:64px;display:grid;align-content:center;gap:3px;border:1px solid var(--line);border-radius:6px;background:#1f3d3a;color:#fff;font-weight:900}.tap-tempo-button span{font-size:.78rem;opacity:.82}.segmented{gap:8px;margin-top:10px}.segmented button{flex:1;min-height:36px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong)}.step-list{display:grid;gap:8px;max-height:640px;overflow:auto;padding-right:4px}.step-picker{position:sticky;top:0;z-index:2;display:grid;gap:8px;padding-bottom:8px;background:var(--surface)}.step-detail{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--green-soft)}.step-detail strong{color:var(--teal-dark)}.step-detail span,.step-detail small,.step-detail p{margin:0;color:var(--muted);line-height:1.4}.step-detail .wiki-summary{padding-top:6px;border-top:1px solid rgba(15,118,110,.18);color:var(--teal-dark);font-weight:800}.step-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.step-detail-page{max-width:1040px}.step-detail-hero,.step-info-panel{border:1px solid var(--line);border-radius:8px;background:#fff}.step-detail-hero{display:flex;gap:12px;align-items:start;justify-content:space-between;padding:18px}.step-detail-hero h2{margin-bottom:4px;color:var(--teal-dark);font-size:1.8rem}.step-detail-hero span{color:var(--muted);font-weight:800}.step-detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.step-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:12px}.step-info-panel{display:grid;align-content:start;gap:12px;padding:16px}.step-info-panel h3{margin:0;font-size:.94rem}.step-info-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.step-info-panel dt{color:var(--muted);font-size:.74rem;font-weight:900}.step-info-panel dd{margin:2px 0 0;font-weight:900}.step-info-panel p,.step-info-panel pre{margin:0;color:var(--muted);line-height:1.5}.step-info-panel pre{white-space:pre-wrap;font-family:inherit}.step-wiki-editor{display:grid;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.step-wiki-heading{display:flex;gap:8px;align-items:start;justify-content:space-between}.step-wiki-heading div{display:grid;gap:2px}.step-wiki-heading strong{color:var(--teal-dark)}.step-wiki-heading span,.step-wiki-heading small,.wiki-history p{margin:0;color:var(--muted);font-size:.76rem;font-weight:800}.step-wiki-editor label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:900}.step-wiki-editor textarea{min-height:82px}.step-wiki-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8px}.wiki-history{display:grid;gap:4px;padding-top:8px;border-top:1px solid var(--line)}.wiki-history strong{color:var(--muted);font-size:.78rem}.step-preview{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.step-preview-header{display:flex;gap:8px;align-items:center;justify-content:space-between}.step-preview-header div:first-child{display:grid;gap:2px}.step-preview-header strong{color:var(--teal-dark)}.step-preview-header span{color:var(--muted);font-size:.78rem;font-weight:900}.step-preview-controls,.preview-count-dots{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.step-preview-controls button,.preview-count-dots button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-strong);color:var(--ink);font-weight:900}.step-preview-controls button:hover,.preview-count-dots button.active{background:var(--teal);color:#fff}.main-panel{padding:16px}.studio-focus-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.studio-focus-tabs button{min-height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 12px;color:var(--muted);font-weight:900}.studio-focus-tabs button.active{border-color:var(--teal);background:var(--green-soft);color:var(--teal-dark)}.studio-workbench{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:14px;align-items:start}.studio-workbench>.view-stack,.studio-workbench>.step-detail-page{min-width:0}.studio-workbench .practice-layout{grid-template-columns:1fr}.print-only-sheet{display:none}.playback-panel{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(260px,1.35fr) auto;gap:14px;align-items:center;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.play-toggle{width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--teal);color:#fff}.play-toggle:disabled{cursor:not-allowed;opacity:.45}.playback-meta{display:grid;gap:3px;min-width:0}.playback-meta strong{color:var(--teal-dark)}.playback-meta span,.playback-meta em,.time-readout{min-width:0;overflow:hidden;color:var(--muted);font-size:.84rem;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.marker-capture-button{width:fit-content;min-height:30px;display:inline-flex;gap:6px;align-items:center;border:1px solid var(--teal);border-radius:999px;background:#fff;color:var(--teal-dark);padding:5px 10px;font-size:.78rem;font-weight:900}.marker-capture-button kbd{min-width:20px;display:inline-grid;place-items:center;border-radius:5px;background:var(--green-soft);color:var(--teal-dark);font:inherit}.playback-controls{display:grid;gap:8px}.speed-grid{display:grid;gap:7px}.playback-controls label{display:grid;grid-template-columns:auto minmax(90px,1fr) 48px;gap:8px;align-items:center;color:var(--muted);font-size:.78rem;font-weight:900}.playback-controls input[type=range]{min-height:22px;padding:0}.speed-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.speed-actions button{min-height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:.78rem;font-weight:900}.speed-actions button:last-child{background:var(--teal);color:#fff}.preset-message{margin:0;color:var(--teal-dark);font-size:.8rem;font-weight:800}.time-readout{justify-self:end}.cue-marker-strip{display:grid;gap:8px;margin:-4px 0 14px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.cue-marker-heading,.cue-marker-heading span,.cue-marker-list,.cue-marker-main{display:flex;align-items:center}.cue-marker-heading{justify-content:space-between;gap:10px}.cue-marker-heading span{gap:7px;color:var(--teal-dark)}.cue-marker-heading small{color:var(--muted);font-weight:900}.cue-marker-list{flex-wrap:wrap;gap:7px}.cue-marker-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:stretch;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);overflow:hidden}.cue-marker-row.active{border-color:var(--ruby);box-shadow:0 0 0 2px #b4234a1f}.cue-marker-main{gap:7px;border:0;background:transparent;color:var(--ink);padding:6px 8px 6px 10px;text-align:left}.cue-marker-main strong{color:var(--teal-dark)}.cue-marker-main span,.cue-marker-main small{color:var(--muted);font-size:.74rem;font-weight:900;white-space:nowrap}.cue-marker-remove{width:28px;display:grid;place-items:center;border:0;border-left:1px solid var(--line);background:#fff;color:var(--ruby);padding:0}.community-board{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.community-board-header,.board-header-actions,.post-card-actions{display:flex;align-items:center}.community-board-header{justify-content:space-between;gap:12px}.community-board-header h2{margin:2px 0 0;color:var(--teal-dark);font-size:1.2rem}.community-board-header strong{color:var(--muted)}.board-header-actions{flex-wrap:wrap;gap:8px;justify-content:flex-end}.community-category-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.community-category-tabs button{min-height:42px;display:flex;gap:6px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--muted);font-weight:900}.community-category-tabs button.active{border-color:var(--teal);background:var(--green-soft);color:var(--teal-dark)}.community-category-tabs small{min-width:22px;border-radius:999px;background:#fff;padding:2px 6px;color:currentColor}.board-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.board-toolbar span{color:var(--muted);font-size:.82rem;font-weight:900;white-space:nowrap}.member-signup-panel{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.member-signup-heading,.member-signup-actions,.member-chip-list{display:flex;align-items:center}.member-signup-heading{justify-content:space-between;gap:12px}.member-signup-heading h3{margin-bottom:0}.member-signup-heading>span{color:var(--muted);font-size:.82rem;font-weight:900;white-space:nowrap}.member-signup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.member-signup-grid label,.member-intro-field{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:900}.member-signup-grid input,.member-signup-grid select,.member-intro-field textarea{color:var(--ink);font-size:.95rem;font-weight:500}.member-intro-field textarea{min-height:74px}.member-signup-actions{flex-wrap:wrap;gap:8px;justify-content:flex-end}.member-chip-list{flex-wrap:wrap;gap:6px}.member-chip-list span{border:1px solid var(--line);border-radius:999px;background:#fff;padding:5px 9px;color:var(--muted);font-size:.75rem;font-weight:900}.post-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.board-write-panel{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.board-write-grid{display:grid;grid-template-columns:150px 150px minmax(0,1fr) 180px;gap:8px}.board-write-panel textarea{min-height:110px}.board-write-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.sheet-share-panel{margin-top:8px}.sheet-share-panel summary{cursor:pointer;color:var(--muted);font-weight:900}.sheet-share-grid{display:grid;gap:7px;margin-top:8px}.sheet-share-panel small{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;font-weight:800}.board-list-wrap{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:auto}.board-table{width:100%;border-collapse:collapse;font-size:.88rem}.board-table th,.board-table td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:center;white-space:nowrap}.board-table th{background:var(--surface-strong);color:var(--muted);font-size:.76rem;font-weight:900}.board-table tr.selected td{background:var(--green-soft)}.board-table tbody tr:hover td{background:#f8fbfa}.board-title-cell{width:100%;text-align:left!important}.board-title-cell button{max-width:100%;display:inline-flex;gap:6px;align-items:center;border:0;background:transparent;color:var(--ink);padding:0;font-weight:900;text-align:left}.board-title-cell em{color:var(--ruby);font-size:.78rem;font-style:normal}.board-title-cell small,.board-category-chip{border-radius:999px;background:var(--surface-strong);color:var(--teal-dark);padding:3px 7px;font-size:.72rem;font-weight:900}.board-detail{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.board-detail header{display:flex;gap:12px;align-items:start;justify-content:space-between}.board-detail h3{margin:8px 0 4px}.board-detail header p,.board-detail-body{margin:0;color:var(--muted);line-height:1.55}.board-detail-body{min-height:80px;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);white-space:pre-wrap}.tab-bar{gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.tab-bar button{min-height:38px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px 14px;font-weight:800}.tab-bar button.active{background:var(--teal);border-color:var(--teal);color:#fff}.view-stack{display:grid;gap:14px}.control-strip{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) repeat(3,auto);gap:10px;align-items:end}.timeline-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px;box-shadow:none}.timeline-summary div{display:grid;gap:4px}.summary-label{color:var(--muted);font-size:.78rem;font-weight:800}.timeline-grid{display:grid;grid-template-columns:repeat(8,minmax(68px,1fr));gap:8px}.count-cell{min-height:76px;display:grid;align-content:start;gap:7px;padding:8px;border:1px dashed var(--line);border-radius:6px;background:#fff}.count-cell span{color:var(--muted);font-size:.75rem;font-weight:800}.count-cell strong{color:var(--teal-dark);font-size:.84rem;line-height:1.25}.cue-marker-badge{width:fit-content;min-height:24px;border:1px solid var(--teal);border-radius:999px;background:#fff;color:var(--teal-dark);padding:3px 7px;font-size:.72rem;font-weight:900}.count-cell.filled{border-style:solid;background:var(--green-soft)}.count-cell.played{background:linear-gradient(90deg,rgba(15,118,110,.28),var(--green-soft))}.count-cell.active{border-color:var(--ruby);box-shadow:inset 0 0 0 2px var(--ruby)}.count-cell.selected,.count-order-row.selected,.sheet-step.selected{outline:2px solid var(--amber);outline-offset:2px}.count-cell strong,.count-order-row,.sheet-step{cursor:grab}.count-order-list{display:grid;gap:7px}.count-order-header,.count-order-row{display:grid;grid-template-columns:34px 82px 92px minmax(140px,1fr) minmax(140px,1fr) 116px 42px;gap:8px;align-items:center}.count-order-header{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.count-order-row{padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff;transition:background .16s ease,border-color .16s ease,box-shadow .18s ease,opacity .16s ease,transform .18s ease}.count-order-row.tag{border-left:4px solid var(--amber)}.count-order-row.restart{border-left:4px solid var(--ruby)}.count-order-row.selected{border-radius:6px;background:#fff8ea}.count-order-row.dragging{opacity:.52;transform:scale(.992)}.count-order-row.drop-target{border-color:var(--teal);box-shadow:inset 0 0 0 2px #0f766e4d;transform:translateY(2px)}.count-order-row.moved{animation:row-move-highlight .68s ease}.drag-handle{width:30px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);color:var(--muted);cursor:grab}.count-order-row:hover .drag-handle,.count-order-row.dragging .drag-handle{border-color:var(--teal);color:var(--teal-dark)}@keyframes row-move-highlight{0%{transform:translateY(-10px);background:#fff3df;box-shadow:0 12px 28px #b7791f33}to{transform:translateY(0);background:#fff;box-shadow:none}}.row-type{width:fit-content;display:inline-grid;place-items:center;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:900}.row-type.step{background:var(--green-soft);color:var(--teal-dark)}.row-type.tag{background:#fff3df;color:#7a4c0e}.row-type.restart{background:var(--ruby-soft);color:var(--ruby)}.marker-title{color:var(--muted);font-weight:900}.order-detail{display:grid;grid-template-columns:auto minmax(54px,1fr);gap:6px;align-items:center;color:var(--muted);font-size:.76rem;font-weight:900}.marker-detail-stack{display:grid;gap:5px}.time-chip{min-height:28px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--teal-dark);padding:4px 9px;font-size:.74rem;font-weight:900;white-space:nowrap}.time-chip:hover:not(:disabled){border-color:var(--teal);background:var(--green-soft)}.time-chip:disabled{cursor:not-allowed;opacity:.52}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:var(--ruby-soft);color:var(--ruby)}.notes-editor{display:grid;gap:8px}.marker-tray{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px dashed var(--line);border-radius:8px;background:#fff}.marker-tray span{color:var(--muted);font-size:.82rem;font-weight:900}.marker-tray button,.marker-badge{min-height:30px;border:1px solid transparent;border-radius:999px;padding:5px 10px;font-size:.76rem;font-weight:900}.marker-tray button,.marker-badge.tag{background:#fff3df;color:#7a4c0e}.marker-badge.restart{background:var(--ruby-soft);color:var(--ruby)}.marker-badge{display:inline-flex;gap:6px;align-items:center;width:fit-content}.marker-badge button{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffffb8;color:currentColor;padding:0}.marker-badge button:hover{background:#fff}.sheet-marker-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.practice-layout{display:grid;grid-template-columns:minmax(280px,2fr) minmax(220px,1fr);gap:16px}.practice-stage,.practice-controls{padding:18px}.count-display{min-height:180px;display:grid;place-items:center;gap:8px;border-radius:8px;background:linear-gradient(135deg,#e9f4ef,#fff3df);text-align:center}.count-display span,.count-display em{color:var(--muted);font-style:normal;font-weight:800}.count-display strong{font-size:clamp(5rem,12vw,9rem);line-height:.85;color:var(--teal-dark)}.footwork-board{position:relative;min-height:240px;margin-top:14px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,rgba(15,118,110,.07) 1px,transparent 1px),linear-gradient(rgba(15,118,110,.07) 1px,transparent 1px),#fbfdfb;background-size:42px 42px}.footwork-board.compact{min-height:190px;margin-top:0;background-size:36px 36px}.footwork-rotator{position:absolute;inset:0;transform:rotate(var(--wall-angle));transform-origin:center;transition:transform .18s ease}.wall-label{position:absolute;z-index:1;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#ffffffe6;color:var(--teal-dark);font-size:.78rem;font-weight:900;box-shadow:0 6px 16px #1c22201f}.wall-label.top{left:50%;top:10px;transform:translate(-50%)}.wall-label.right{right:10px;top:50%;transform:translateY(-50%)}.wall-label.bottom{bottom:10px;left:50%;transform:translate(-50%)}.wall-label.left{left:10px;top:50%;transform:translateY(-50%)}.floor-line{position:absolute;background:#1c222026}.floor-line.vertical{width:1px;height:100%;left:50%;top:0}.floor-line.horizontal{width:100%;height:1px;left:0;top:50%}.dancer-core{position:absolute;left:50%;top:50%;width:54px;height:70px;border-radius:50% 50% 45% 45%;background:#1f3d3a29;transform:translate(-50%,-58%)}.animated-foot{position:absolute;left:50%;top:50%;width:46px;height:76px;display:grid;place-items:center;border:2px solid rgba(28,34,32,.22);border-radius:50% 50% 42% 42%;color:#fff;font-weight:900;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.animated-foot.left{background:#2f6db3;transform:translate(calc(-50% + var(--left-x)),calc(-50% + var(--left-y))) rotate(var(--left-rotate))}.animated-foot.right{background:var(--ruby);transform:translate(calc(-50% + var(--right-x)),calc(-50% + var(--right-y))) rotate(var(--right-rotate))}.animated-foot.active{box-shadow:0 0 0 6px #b7791f38,0 16px 28px #1c222033}.footwork-board p{position:absolute;left:12px;bottom:10px;margin:0;color:var(--muted);font-weight:900}.beat-dots{gap:8px;margin:14px 0}.beat-dots span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-strong);color:var(--muted);font-weight:900}.beat-dots span.active{background:var(--ruby);color:#fff}audio{width:100%}.practice-controls{display:grid;align-content:start;gap:16px}.publish-panel,.community-composer,.catalog-card,.post-card{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.publish-panel,.community-composer{padding:16px}.publish-grid,.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.publish-grid label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:800}.catalog-grid,.post-list{display:grid;gap:12px}.catalog-card,.post-card{display:grid;gap:12px;padding:16px}.catalog-card header,.post-card header{display:flex;gap:12px;align-items:start;justify-content:space-between}.catalog-card h3,.post-card h3{margin-bottom:0}.catalog-card dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0}.catalog-card dt{color:var(--muted);font-size:.76rem;font-weight:900}.catalog-card dd{margin:2px 0 0;font-weight:900}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.video-card{display:grid;gap:8px}.video-card iframe{width:100%;aspect-ratio:16 / 9;display:block;border:0;border-radius:8px;background:#111}.community-composer{display:grid;gap:10px}.post-card p{margin:0}.reply-list{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.reply-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.empty-state{margin:0;padding:18px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-weight:800;text-align:center}.sheet-view{max-width:900px;margin:0 auto;padding:34px;box-shadow:none}.sheet-view header{border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:20px}.sheet-view header p{margin-bottom:6px;color:var(--muted);font-weight:800}.sheet-view h2{font-size:2rem}.sheet-view dl{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 0}.sheet-view dt{color:var(--muted);font-size:.76rem;font-weight:900}.sheet-view dd{margin:3px 0 0;font-weight:800}.sheet-step{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.sheet-step.active{margin-inline:-12px;padding-inline:12px;border-radius:8px;background:linear-gradient(90deg,#0f766e2e,#fff3dfb3)}.sheet-step h4{margin-bottom:4px}.sheet-step p,.sheet-step small{margin:0;color:var(--muted)}.wall-chip{display:inline-grid;width:fit-content;margin:4px 0;padding:3px 8px;border-radius:999px;background:#fff3df;color:#7a4c0e!important;font-weight:900}.lyrics-panel{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.lyrics-editor{display:grid;gap:12px}.lyrics-editor textarea{min-height:180px}.current-lyric{margin:0;padding:10px 12px;border-left:4px solid var(--teal);background:var(--green-soft);color:var(--teal-dark);font-weight:900}.lyric-line-list{display:grid;gap:8px;max-height:280px;overflow:auto}.lyric-line-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px}@media (max-width: 1040px){.workspace,.studio-workbench,.step-detail-grid,.board-write-grid,.practice-layout{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.control-strip{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.app-header{align-items:stretch;flex-direction:column}.header-actions,.media-search-row,.side-panel,.control-strip,.playback-panel,.board-write-grid,.member-signup-grid,.publish-grid,.community-grid,.video-grid,.timeline-summary,.step-action-buttons,.step-info-panel dl,.step-wiki-grid,.count-order-header,.count-order-row,.lyric-line-row,.sync-action-grid,.sheet-view dl{grid-template-columns:1fr}.community-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card header,.step-detail-hero,.member-signup-heading,.board-detail header,.post-card header{display:grid}.catalog-card dl,.speed-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.header-actions .button{width:100%;white-space:nowrap}.header-actions .button:first-child{grid-column:1 / -1}.timeline-grid{grid-template-columns:repeat(4,minmax(64px,1fr))}.sheet-view{padding:18px}}@media print{body{background:#fff}.app-header,.side-panel,.main-panel>:not(.print-only-sheet){display:none!important}.print-only-sheet{display:block}.workspace,.main-panel,.sheet-view{display:block;padding:0;margin:0;border:0;box-shadow:none}}
