: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}body{margin:0;min-width:320px;min-height:100vh;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)}.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.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}.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:300px;overflow:auto;padding-right:4px}.step-chip{display:grid;gap:2px;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-align:left}.step-chip small{color:var(--muted)}.step-chip.selected{border-color:var(--teal);background:var(--green-soft)}.main-panel{padding:16px}.tab-bar{gap:8px;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}.count-cell.filled{border-style:solid;background:var(--green-soft)}.block-table{display:grid;gap:7px}.table-header,.table-row{display:grid;grid-template-columns:76px minmax(140px,1fr) minmax(140px,1fr) 90px 42px;gap:8px;align-items:center}.table-header{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:var(--ruby-soft);color:var(--ruby)}.marker-editor,.notes-editor,.marker-list{display:grid;gap:8px}.marker-item{display:grid;grid-template-columns:86px 90px 90px minmax(0,1fr) 42px;gap:8px;align-items:center}.marker-item span{font-weight:900}.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:260px;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)}.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}.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 h4{margin-bottom:4px}.sheet-step p,.sheet-step small{margin:0;color:var(--muted)}@media (max-width: 1040px){.workspace,.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,.side-panel,.control-strip,.timeline-summary,.table-header,.table-row,.marker-item,.sheet-view dl{grid-template-columns: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,.tab-bar,.control-strip,.timeline-summary,.timeline-grid,.block-table,.marker-editor,.practice-layout{display:none!important}.workspace,.main-panel,.sheet-view{display:block;padding:0;margin:0;border:0;box-shadow:none}}
