:root{--paper: #f3ede1;--paper-2: #e9e0d0;--paper-card: #f7f2e8;--paper-input: #fffaf2;--page-glow: #f7f2e8;--nav-bg: #efe7d8;--choice-on: #e7efe4;--mic-warn: #f6eee4;--btn-ink: #f6f1e6;--shell-sheen: rgba(255, 255, 255, .35);--ink: #2a2418;--ink-soft: #5c5346;--ink-muted: #6b6356;--rule: #d4cbb8;--surface: var(--paper-card);--border: var(--rule);--muted: var(--ink-muted);--moss: #3f5a45;--sage: #7a9474;--leaf: #5b7f5e;--bark: #6a4e3a;--gold: #c4a35a;--wilt: #a67c52;--flower: #b56b63;--danger: #8a4a3a;--trace: #9c3a32;--accent: #3f5a45;--accent-quiet: #c5d4c4;--staff-ghost: color-mix(in srgb, var(--accent) 52%, var(--ink) 48%);--shadow: rgba(42, 36, 24, .08);--journal-sage: var(--sage);--journal-brass: #c9a860;--journal-lavender: #9b8fa5;--journal-gold: var(--gold);font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);line-height:1.45}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-height:100dvh;background:radial-gradient(1200px 600px at 50% -10%,var(--page-glow),var(--paper))}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,.serif{font-family:Georgia,Palatino Linotype,Palatino,Times New Roman,serif;font-weight:500;letter-spacing:-.02em}a{color:var(--accent)}.app-shell{max-width:440px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--shell-sheen),transparent 180px),var(--paper);box-shadow:0 0 0 1px var(--rule)}.top{padding:1.1rem 1.15rem .6rem}.kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bark)}h1{font-size:1.7rem;margin:.15rem 0 .35rem}.lede{color:var(--ink-soft);font-size:.95rem;margin:0 0 .8rem}.main{flex:1;padding:0 1.15rem 6.25rem}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,440px);z-index:40;display:grid;grid-template-columns:repeat(6,1fr);background:var(--nav-bg);border-top:1px solid var(--rule);padding:.55rem .2rem calc(.55rem + env(safe-area-inset-bottom))}.nav a{text-decoration:none;text-align:center;color:var(--accent);opacity:.4;padding:.35rem .1rem;display:flex;align-items:center;justify-content:center;min-height:2.75rem}.nav a.active{opacity:1}.nav-icon{display:block;width:2.15rem;height:2.15rem;color:inherit;line-height:0}.nav-icon svg{width:100%;height:100%;display:block;overflow:visible;shape-rendering:crispEdges;image-rendering:pixelated}.card{background:var(--paper-card);border:1px solid var(--rule);border-radius:14px;padding:.9rem 1rem;margin:.7rem 0;box-shadow:0 8px 20px var(--shadow)}.card h2,.card h3{margin:0 0 .4rem}.muted{color:var(--ink-soft);font-size:.88rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.btn{border:1px solid var(--accent);background:var(--accent);color:var(--btn-ink);border-radius:999px;padding:.55rem 1rem;cursor:pointer;touch-action:manipulation}.btn.secondary{background:transparent;color:var(--accent)}.btn.ghost{background:transparent;border-color:var(--rule);color:var(--ink)}.btn:disabled{opacity:.5;cursor:default}.field{display:flex;flex-direction:column;gap:.25rem;margin:.55rem 0}.field input,.field select,.field textarea{border:1px solid var(--rule);background:var(--paper-input);border-radius:10px;padding:.5rem .65rem}.field input[type=file]{border:0;background:transparent;padding:0}.file-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:fit-content;overflow:hidden;font-family:Segoe UI,system-ui,-apple-system,sans-serif}.file-btn-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font:inherit}.file-btn:has(.file-btn-input:disabled){opacity:.5;cursor:default}.file-btn:has(.file-btn-input:disabled) .file-btn-input{cursor:default}.file-btn-row{margin:.35rem 0 .55rem;flex-wrap:wrap}.draft-preview{margin:.35rem 0 .7rem}.draft-note-editor{display:flex;flex-direction:column;gap:.35rem}.staff-editor-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.35rem .55rem;margin-top:.15rem}.staff-editor-field{margin:0;min-width:7.5rem}.staff-editor-field select{width:100%}.markings-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.35rem 0 .15rem}.markings-toolbar-label{font-size:.82rem;color:var(--muted);margin-right:.15rem}.marking-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;cursor:pointer}.marking-chip.on{background:var(--accent);border-color:var(--accent);color:var(--btn-ink)}.marking-chip.suggested{border-style:dashed;color:var(--ink-soft)}.marking-chip:disabled{opacity:.45;cursor:not-allowed}.vexflow-staff{min-height:160px}.vexflow-staff svg{display:block;max-width:none;margin-inline:auto}.vexflow-staff .vf-stave{stroke:var(--ink);fill:var(--ink)}.vexflow-staff .vf-stave path{stroke:var(--ink);stroke-width:1.25}.vexflow-staff-stemless .vf-stem,.vexflow-staff-stemless .vf-flag,.vexflow-staff-stemless .vf-beam{display:none}.vexflow-tempo-layer{position:absolute;top:0;left:0;height:100%;pointer-events:none;z-index:3}.vexflow-tempo-hit{pointer-events:auto;position:absolute;border:none;background:transparent;padding:0;cursor:pointer;border-radius:4px}.vexflow-tempo-hit:hover,.vexflow-tempo-hit:focus-visible{background:color-mix(in srgb,var(--accent, #4a6670) 18%,transparent);outline:none}.vexflow-tempo-popover{pointer-events:auto;position:absolute;display:flex;align-items:center;gap:.35rem;padding:.4rem .5rem;border-radius:8px;background:var(--paper-card, #f7f2e8);color:var(--ink, #2a2418);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);box-shadow:0 4px 14px color-mix(in srgb,#000 16%,transparent);z-index:4}.vexflow-tempo-step,.vexflow-tempo-done{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:var(--paper-input, #fffaf2);color:var(--ink, #2a2418);border-radius:6px;min-width:1.75rem;height:1.75rem;cursor:pointer;font:inherit}.vexflow-tempo-step:hover,.vexflow-tempo-done:hover{background:color-mix(in srgb,var(--accent, #4a6670) 14%,var(--paper-input, #fffaf2))}.vexflow-tempo-done{padding:0 .55rem;min-width:auto;font-size:.85em;font-weight:600}.vexflow-tempo-input{width:3.25rem;height:1.75rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);background:var(--paper-input, #fffaf2);color:var(--ink, #2a2418);text-align:center;font:inherit}.vexflow-tempo-input:focus{outline:2px solid color-mix(in srgb,var(--accent, #4a6670) 45%,transparent);outline-offset:1px}.vexflow-tempo-popover-range{flex-wrap:wrap;max-width:16rem;row-gap:.4rem}.vexflow-tempo-field{display:flex;flex-direction:column;gap:.15rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft, #5c5346)}.vexflow-tempo-field .vexflow-tempo-input{font-size:.95rem;font-weight:500;text-transform:none;letter-spacing:normal}.vexflow-hit-row{position:absolute;top:0;left:0;height:100%;pointer-events:none}.vexflow-hit{pointer-events:auto;position:absolute;top:0;height:100%;border:none;background:transparent;padding:0;cursor:pointer}.vexflow-hit.on{background:color-mix(in srgb,var(--accent, #4a6670) 12%,transparent)}.vexflow-hit.range{background:color-mix(in srgb,var(--accent, #4a6670) 18%,transparent)}.vexflow-selected-note{pointer-events:none;stroke:var(--accent, #4a6670)}.staff-block-editable .staff-note-editable,.staff-note-hit{cursor:pointer}.staff-note-hit:focus-visible .staff-head,.staff-note-hit:focus-visible .staff-rest{outline:2px solid var(--accent);outline-offset:2px}.staff-head.selected{fill:var(--accent);stroke:var(--accent)}.staff-rest.selected{fill:var(--accent)}.scan-column-panel{display:flex;gap:.65rem;align-items:flex-start;margin:.35rem 0 .15rem;padding:.45rem .55rem;border:1px solid var(--rule);border-radius:.45rem;background:color-mix(in srgb,var(--paper) 92%,var(--ink) 8%)}.scan-column-crop{flex:0 0 auto;border:1px solid var(--rule);border-radius:.25rem;image-rendering:pixelated}.scan-column-detail{flex:1;min-width:0}.scan-column-changed{color:var(--gold, #a67c00);margin:.2rem 0 .35rem;font-size:.88rem}.scan-alt-row{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.25rem}.scan-export-row{margin:.5rem 0 .75rem}.chip{font-size:.75rem;border:1px solid var(--rule);border-radius:999px;padding:.15rem .55rem;color:var(--ink-soft)}.chip.wilt{color:var(--wilt);border-color:var(--wilt)}.chip.wood{color:var(--bark)}.dyn-row{display:flex;justify-content:center;gap:.35rem;margin:.55rem 0 .35rem}.chip.on{border-color:var(--accent);color:var(--accent)}.chip.flower{color:var(--flower)}.pill-field{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);border-radius:999px;padding:.35rem 1.7rem .35rem .75rem;background:var(--paper-input) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%235c5346' d='M1 1l5 5 5-5'/></svg>") no-repeat right .65rem center;color:var(--ink);font-size:.95rem;letter-spacing:0;text-transform:none;min-width:5.5rem}.play-time{font-size:2rem;line-height:1;margin:.15rem 0 .2rem}.play-list{list-style:none;margin:.7rem 0 0;padding:0}.play-list li{display:flex;justify-content:space-between;gap:.8rem;padding:.28rem 0;border-top:1px solid var(--rule);font-variant-numeric:tabular-nums}.play-list+.list-link,.muted+.list-link{margin-top:.65rem}.why{font-style:italic;color:var(--ink-soft);margin:.25rem 0 0}.practice-home-main{padding-top:.35rem}.practice-home{display:grid;gap:.85rem;grid-template-columns:1fr;grid-template-areas:"welcome" "week" "stage" "session" "shape" "goal" "fav";width:min(100%,28rem);max-width:28rem;margin:0 auto;align-items:start}.home-welcome{grid-area:welcome;padding:.75rem 0 .15rem;text-align:left}.home-welcome h1{margin-bottom:.2rem}.greeting{margin:0;color:var(--ink-soft);font-size:.98rem}.week-strip{grid-area:week;margin:0}.musician-stage{grid-area:stage;text-align:center;padding:1.1rem 1rem 1.15rem;margin:0}.session-card{grid-area:session;padding:1.15rem 1.1rem 1.2rem;border-radius:16px;margin:0}.taking-shape{grid-area:shape;margin:0}.pinned-goal{grid-area:goal;margin:0}.home-favorites{grid-area:fav;margin:0}.quiet-card{box-shadow:none;background:color-mix(in srgb,var(--paper-card) 88%,var(--sage) 12%);border-color:color-mix(in srgb,var(--rule) 80%,transparent)}.week-strip-days{display:flex;justify-content:space-between;gap:.25rem;margin-bottom:.45rem}.day-marker{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.day-marker-label{font-size:.68rem;letter-spacing:.04em;color:var(--ink-muted);text-transform:uppercase}.day-marker-dot{width:.7rem;height:.7rem;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--sage) 55%,var(--rule));background:transparent}.day-marker.completed .day-marker-dot{background:var(--accent);border-color:var(--accent)}.day-marker.today .day-marker-label{color:var(--ink);font-weight:600}.week-strip-summary{margin:0;text-align:center}.musician-stage-art{display:flex;align-items:center;justify-content:center;width:min(7.5rem,42vw);height:min(7.5rem,42vw);margin:0 auto .75rem}.musician-stage-art img,.musician-stage-art svg{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.musician-stage-placeholder{width:100%;height:100%;border-radius:18px;border:1.5px dashed color-mix(in srgb,var(--sage) 55%,var(--rule));background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--accent) 18%,transparent) 0 28%,transparent 30%),color-mix(in srgb,var(--paper-card) 70%,var(--sage) 30%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:1.1rem}.musician-stage-placeholder-mark{width:1.85rem;height:2.4rem;border-radius:999px 999px 8px 8px;background:color-mix(in srgb,var(--accent) 55%,var(--sage));box-shadow:inset 0 -6px color-mix(in srgb,var(--bark) 35%,transparent);opacity:.85}.musician-stage-name{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:600;margin:0 0 .3rem;line-height:1.25}.musician-stage-caption{margin:0 auto;max-width:18rem;color:var(--ink-soft);font-size:.92rem;line-height:1.4}.session-card-kicker{font-size:.78rem;margin-bottom:.35rem}.session-card-title{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:600;margin:0 0 .35rem;line-height:1.25}.session-card-why{margin:0 0 .85rem;color:var(--ink-soft);font-size:.95rem}.session-primary{display:block;width:100%;text-align:center;box-sizing:border-box;padding:.75rem 1rem;font-size:1.02rem;text-decoration:none}.session-secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .15rem;margin-top:.75rem;font-size:.88rem}.linkish{background:none;border:none;padding:.15rem .25rem;color:var(--accent);font:inherit;cursor:pointer;text-decoration:none}.linkish:hover{text-decoration:underline}a.linkish{color:var(--accent)}.dot-sep{color:var(--ink-muted);opacity:.7;padding:0 .1rem}.session-adjust,.session-exercises{margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--rule)}.compact-field{margin-bottom:.55rem}.session-exercise{margin-bottom:.75rem}.session-exercise:last-child{margin-bottom:0}.session-hint{margin:.85rem 0 0}.taking-shape h2,.pinned-goal h2,.home-favorites h2{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:600}.taking-shape-entry{margin-bottom:.75rem}.taking-shape-entry:last-child{margin-bottom:0}.taking-shape-entry p{margin:.15rem 0 0}.taking-shape-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bark)}.goal-text{margin:0 0 .35rem;font-size:1.02rem}.home-favorites p{margin:.25rem 0}@media(min-width:640px){.practice-home{width:min(100%,32rem);max-width:32rem;gap:1rem}.home-welcome{padding-top:.9rem}.musician-stage{padding:1.25rem 1.15rem 1.3rem}.musician-stage-art{width:8.25rem;height:8.25rem}.musician-stage-name{font-size:1.28rem}}@media(min-width:960px){.practice-home{width:min(100%,34rem);max-width:34rem;gap:1.1rem}.session-card{padding:1.3rem 1.25rem 1.35rem}.musician-stage-art{width:9rem;height:9rem}}.bars{display:grid;gap:.35rem;margin-top:.6rem}.bar-row{display:grid;grid-template-columns:6.5rem 1fr 2.6rem;gap:.4rem;align-items:center;font-size:.8rem}.bar-track{height:.45rem;background:var(--paper-2);border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:var(--leaf);border-radius:99px}.listen-pitch{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin:.35rem 0 .1rem}.listen-note{font-size:2.1rem;line-height:1;text-align:center;margin:0}.tuner-compact .listen-note{font-size:1.15rem}.listen-note-row{display:flex;align-items:baseline;justify-content:center;gap:.45rem}.listen-dyn{font-size:1.15rem;font-style:italic;color:var(--ink-soft)}.listen-heard{margin:0;font-size:.88rem}.note-picker{position:relative;display:flex;align-items:center;gap:.1rem}.note-picker-arrow{border:none;background:transparent;color:var(--ink-soft);font-size:1.6rem;line-height:1;padding:.1rem .35rem;cursor:pointer}.note-picker-name{border:none;background:transparent;color:inherit;cursor:pointer;padding:.1rem .15rem}.note-menu{position:absolute;top:calc(100% + .25rem);left:50%;transform:translate(-50%);z-index:8;max-height:14rem;overflow-y:auto;min-width:7.5rem;margin:0;padding:.3rem;list-style:none;background:var(--paper-card);border:1px solid var(--rule);border-radius:12px;box-shadow:0 8px 20px var(--shadow)}.note-menu button{display:block;width:100%;text-align:left;border:none;background:transparent;color:inherit;padding:.35rem .55rem;border-radius:8px;cursor:pointer;font-family:Georgia,Palatino Linotype,Palatino,Times New Roman,serif;font-size:1.05rem}.note-menu button.on,.note-menu button:hover{background:var(--choice-on);color:var(--accent)}.cents{text-align:center;font-variant-numeric:tabular-nums;font-size:1.4rem}.status{text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;color:var(--sage)}.garden-svg{width:100%;height:auto}.list-link{display:block;text-decoration:none;color:inherit}.spark{width:100%;height:64px}.q{margin:.8rem 0}.choice{display:block;width:100%;text-align:left;margin:.3rem 0;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--rule);background:var(--paper-input);cursor:pointer}.choice.on{border-color:var(--accent);background:var(--choice-on)}.footer-note{font-size:.78rem;color:var(--ink-soft);margin-top:1.2rem}.mic-denied{margin-top:.85rem;padding:.7rem .8rem;border-radius:10px;border:1px solid var(--wilt);background:var(--mic-warn);text-align:left}.mic-denied p{margin:0;color:var(--ink-soft);font-size:.88rem}.pitch-graph{margin:.35rem 0 .2rem}.pitch-graph-plot{position:relative;height:3.5rem}.pitch-graph-vertical .pitch-graph-plot{height:12.5rem}.pitch-graph-scroll{overflow:hidden;height:100%}.pitch-graph-scroll.can-scroll{overflow-x:auto;overflow-y:hidden;touch-action:pan-x;-webkit-overflow-scrolling:touch;cursor:grab}.pitch-graph-vertical .pitch-graph-scroll.can-scroll{overflow-x:hidden;overflow-y:auto;touch-action:pan-y}.pitch-graph-scroll svg{display:block;background:transparent;border:none}.listen-stage{display:flex;flex-direction:column;gap:.25rem;width:100%}.listen-stage-vertical{flex-direction:row;align-items:stretch;gap:.55rem}.listen-stage-vertical .pitch-graph,.listen-stage-vertical .staff-block{flex:1;min-width:0;margin:0}.listen-stage-vertical .staff-block{justify-content:center}.pitch-graph-chrome{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.pitch-graph-target{stroke:var(--accent);stroke-width:1.6}.pitch-graph-fill{stroke:none;opacity:.22}.pitch-graph-line{stroke-width:3.2}.pitch-graph-label{fill:var(--ink-soft);font-size:9px;font-family:Georgia,Times New Roman,serif}.fingering{margin:0;opacity:.45}.fingering svg{display:block;height:14px;width:auto;margin:0 auto;overflow:visible;background:transparent}.fingering-trigger{stroke:var(--ink);stroke-width:4.2;stroke-linecap:square}.fingering-valve{fill:none;stroke:var(--ink);stroke-width:2.4}.fingering-valve.on{fill:var(--ink)}.eval-q{margin:.7rem 0 .15rem}.eval-q p{margin:0 0 .35rem;font-size:.95rem}.eval-choices{display:flex;flex-wrap:wrap;gap:.35rem}.eval-choices .chip{background:transparent;cursor:pointer;touch-action:manipulation}.theme-switch{display:flex;align-items:center;gap:.55rem;margin:.15rem 0 .35rem;color:var(--ink-soft);font-size:.88rem;cursor:pointer}.theme-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.45rem;height:1.35rem;border-radius:99px;border:1px solid var(--rule);background:var(--paper-2);position:relative;cursor:pointer;flex-shrink:0}.theme-switch input:after{content:"";position:absolute;top:2px;left:2px;width:.95rem;height:.95rem;border-radius:50%;background:var(--ink)}.theme-switch input:checked{background:var(--accent);border-color:var(--accent)}.theme-switch input:checked:after{left:auto;right:2px;background:var(--btn-ink)}.theme-paper-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.15rem 0}.theme-paper-row .theme-switch{margin:0}.paper-bubbles{display:flex;align-items:center;gap:.4rem}.paper-bubble{width:1.35rem;height:1.35rem;border-radius:50%;border:1px solid color-mix(in srgb,var(--ink) 28%,var(--rule));padding:0;cursor:pointer;flex-shrink:0;box-shadow:inset 0 1px #ffffff59}.paper-bubble.on{border-color:var(--ink);box-shadow:inset 0 1px #ffffff59,0 0 0 2px var(--paper),0 0 0 3.5px var(--accent)}.paper-bubble[data-paper=yellow-brass]{background:linear-gradient(145deg,#e6cb6a,#b5a642 48%,#8f7f2e)}.paper-bubble[data-paper=nickel-silver]{background:linear-gradient(145deg,#e4e8ec,#b8bec6 48%,#8e969f)}.paper-bubble[data-paper=gold-brass]{background:linear-gradient(145deg,#d4a45c,#c4893f 48%,#8f5e28)}.paper-bubble[data-paper=rose-brass]{background:linear-gradient(145deg,#d4a08e,#c08060 48%,#8f4e42)}.paper-metal-hint{margin:0 0 .55rem;font-size:.8rem}html[data-theme=light][data-paper=yellow-brass]{--paper: #f3ede1;--paper-2: #e9e0d0;--paper-card: #f7f2e8;--paper-input: #fffaf2;--page-glow: #f7f2e8;--nav-bg: #efe7d8;--choice-on: #e7efe4;--mic-warn: #f6eee4;--btn-ink: #f6f1e6;--shell-sheen: rgba(255, 255, 255, .35);--ink: #2a2418;--ink-soft: #5c5346;--ink-muted: #6b6356;--rule: #d4cbb8;--shadow: rgba(42, 36, 24, .08)}html[data-theme=light][data-paper=nickel-silver]{--paper: #e7eaee;--paper-2: #d5dade;--paper-card: #eef1f4;--paper-input: #f7f9fb;--page-glow: #eef1f4;--nav-bg: #dde2e7;--choice-on: #dde6e2;--mic-warn: #e8e6e2;--btn-ink: #f4f6f8;--shell-sheen: rgba(255, 255, 255, .4);--ink: #1e242a;--ink-soft: #4f5862;--ink-muted: #66707a;--rule: #c2c8d0;--shadow: rgba(24, 30, 36, .08)}html[data-theme=dark]{--paper: #1c1a16;--paper-2: #2c2822;--paper-card: #26221c;--paper-input: #1a1814;--page-glow: #252018;--nav-bg: #141210;--choice-on: #2a3328;--mic-warn: #2a241c;--btn-ink: #1c1a16;--shell-sheen: rgba(255, 255, 255, .04);--ink: #efe6d4;--ink-soft: #b7ab96;--ink-muted: #9a9080;--rule: #3d372e;--moss: #8faf8a;--sage: #9aaf90;--leaf: #7d9a72;--bark: #c4a07a;--gold: #d4b56a;--wilt: #c49a72;--flower: #d48980;--danger: #d09080;--trace: #e07a70;--accent: #8faf8a;--accent-quiet: #3a4639;--staff-ghost: color-mix(in srgb, var(--accent) 62%, #ffffff 38%);--shadow: rgba(0, 0, 0, .35);--journal-sage: var(--sage);--journal-brass: #b8956b;--journal-lavender: #a89bb8;--journal-gold: var(--gold);color-scheme:dark}html[data-theme=dark][data-paper=gold-brass]{--paper: #1c1812;--paper-2: #2d261c;--paper-card: #262018;--paper-input: #17140f;--page-glow: #2a2218;--nav-bg: #12100c;--choice-on: #2a3328;--mic-warn: #2a2318;--btn-ink: #1c1812;--shell-sheen: rgba(212, 181, 106, .06);--ink: #f0e4cc;--ink-soft: #bba888;--ink-muted: #9e8f74;--rule: #43382a;--shadow: rgba(0, 0, 0, .4);--journal-brass: #c4893f}html[data-theme=dark][data-paper=rose-brass]{--paper: #1c1414;--paper-2: #2c1e1e;--paper-card: #261a1a;--paper-input: #171111;--page-glow: #281818;--nav-bg: #120e0e;--choice-on: #2e2a28;--mic-warn: #2a1c1a;--btn-ink: #1c1414;--shell-sheen: rgba(192, 128, 96, .07);--ink: #f0e2dc;--ink-soft: #bda49c;--ink-muted: #9e887f;--rule: #463230;--shadow: rgba(0, 0, 0, .4);--journal-brass: #c08060}html[data-accent=moss]{--accent: #3f5a45;--accent-quiet: #c5d4c4}html[data-accent=leaf]{--accent: #5b7f5e;--accent-quiet: #c9dcc8}html[data-accent=bark]{--accent: #6a4e3a;--accent-quiet: #dccfc4}html[data-accent=gold]{--accent: #c4a35a;--accent-quiet: #efe3c4}html[data-accent=flower]{--accent: #b56b63;--accent-quiet: #ebd4d1}html[data-accent=custom]{--accent: var(--accent-custom, #4a6670);--accent-quiet: color-mix(in srgb, var(--accent-custom, #4a6670) 32%, var(--paper))}html[data-theme=dark][data-accent=moss]{--accent: #8faf8a;--accent-quiet: #3a4639}html[data-theme=dark][data-accent=leaf]{--accent: #7d9a72;--accent-quiet: #3a4638}html[data-theme=dark][data-accent=bark]{--accent: #c4a07a;--accent-quiet: #4a3c32}html[data-theme=dark][data-accent=gold]{--accent: #d4b56a;--accent-quiet: #4a422e}html[data-theme=dark][data-accent=flower]{--accent: #d48980;--accent-quiet: #4a3532}html[data-theme=dark][data-accent=custom]{--accent: color-mix(in srgb, var(--accent-custom, #4a6670) 70%, #efe6d4);--accent-quiet: color-mix(in srgb, var(--accent-custom, #4a6670) 22%, var(--paper))}.tuner-mic{text-align:center;margin:.35rem 0 .55rem}.tuner-mic-row{justify-content:center;margin-bottom:.25rem}.staff-block{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;margin:.35rem 0 .15rem;width:100%}.staff-note{margin:0;width:100%}.staff-note svg{display:block;width:100%;height:auto;overflow:visible;min-width:16rem}.staff-scroll-editor .vexflow-staff svg,.draft-note-editor-scroll-track .staff-note svg{width:auto;max-width:none}.staff-scroll{overflow-x:auto;width:100%;position:relative;scrollbar-width:none;-ms-overflow-style:none}.staff-scroll::-webkit-scrollbar{display:none}.staff-scroll-editor{width:100%;position:relative;overflow-x:visible}.draft-note-editor-scroll{overflow-x:auto;overflow-y:hidden;width:100%;position:relative;scrollbar-width:thin;scrollbar-color:var(--ink-soft) transparent;-ms-overflow-style:auto;-webkit-overflow-scrolling:touch}.draft-note-editor-scroll::-webkit-scrollbar{height:3px;display:block}.draft-note-editor-scroll::-webkit-scrollbar-track{background:transparent}.draft-note-editor-scroll::-webkit-scrollbar-thumb{background:var(--ink-soft);border-radius:0}.draft-note-editor-scroll .vexflow-staff svg{margin-inline:0}.staff-scroll-practice{max-width:100%;margin-inline:auto;display:flex;justify-content:center}.staff-block-practice{align-items:center;width:100%}.staff-block-practice .staff-note{display:flex;justify-content:center;width:100%}.staff-block-practice .vexflow-staff{margin-inline:auto;flex:0 1 auto}.staff-block-practice .staff-note svg{min-width:0;margin-inline:auto}.practice-tempo-meter{margin-right:.65rem;font-variant-numeric:tabular-nums}.practice-stage{display:flex;flex-direction:column;align-items:center;text-align:center}.practice-stage .slur-range-picker{justify-content:center;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.practice-goal-card{width:100%;max-width:26rem;margin:.15rem 0 .85rem;padding:.85rem 1rem .9rem;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,var(--paper-card));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--rule));box-shadow:0 10px 28px var(--shadow);text-align:left;animation:practice-goal-in .45s ease-out}.practice-goal-kicker{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.45rem;font-weight:600}.practice-objectives{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.practice-objectives li{position:relative;padding-left:1.25rem;font-size:.98rem;line-height:1.35;color:var(--ink)}.practice-objectives li:before{content:"";position:absolute;left:.15rem;top:.45rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.practice-goal-lead{margin:0;font-size:1.02rem;color:var(--ink)}.practice-goal-criteria{margin:.65rem 0 0;font-size:.86rem;font-style:italic;color:var(--ink-soft);line-height:1.4}.practice-staff-shell{width:100%;position:relative;transition:transform .35s ease}.practice-staff-shell.flash-ok{animation:practice-ok-pulse .5s ease-out}.practice-staff-shell.flash-miss{animation:practice-miss-shake .45s ease-out}.practice-progress{height:4px;width:100%;margin-top:.15rem;border-radius:99px;background:color-mix(in srgb,var(--rule) 70%,transparent);overflow:hidden}.practice-progress-fill{height:100%;border-radius:99px;background:color-mix(in srgb,var(--accent) 70%,var(--flower));transition:width .35s ease}.vexflow-practice-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.vexflow-attempt-mark{position:absolute;top:.35rem;margin-left:-.55rem;width:1.1rem;height:1.1rem;display:grid;place-items:center;font-size:.85rem;font-weight:700;border-radius:50%;animation:practice-mark-in .35s ease-out}.vexflow-attempt-mark.ok{color:var(--leaf);background:color-mix(in srgb,var(--leaf) 18%,var(--paper))}.vexflow-attempt-mark.miss{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,var(--paper))}.vexflow-detected-label{position:absolute;top:.15rem;transform:translate(-50%);padding:.12rem .4rem;border-radius:999px;font-size:.72rem;letter-spacing:.04em;background:color-mix(in srgb,var(--accent) 16%,var(--paper));color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--rule));animation:practice-label-float 1.8s ease-in-out infinite;white-space:nowrap}.practice-pitch-compare{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem .75rem;align-items:start;width:100%;max-width:24rem;margin:0 auto .65rem;text-align:center}.practice-pitch-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.2rem}.practice-pitch-value{font-size:1.85rem;line-height:1.05;min-height:1.1em}.practice-pitch-status{font-size:.78rem;align-self:center;padding-top:1.1rem;text-align:right;white-space:nowrap}.practice-pitch-hint{font-size:.78rem;margin-top:.15rem}.practice-tuner-extras{margin-bottom:.35rem}.listen-lede{font-size:.78rem;line-height:1.35;margin:0 0 .45rem;color:var(--ink-muted)}.listen-dynamics-card{padding:.75rem .9rem;margin-bottom:.65rem}.listen-dynamics-card h2{font-size:1.05rem;margin:0 0 .25rem}.listen-dynamics-copy{font-size:.78rem;line-height:1.35;color:var(--ink-muted);margin:0 0 .65rem}.listen-staff-shell{width:100%;max-width:100%;overflow-x:hidden}.listen-staff-shell .staff-scroll-practice{overflow-x:hidden;max-width:100%;width:100%}.listen-staff-shell .vexflow-staff,.listen-staff-shell .vexflow-staff svg{max-width:100%}@media(max-width:720px){.listen-page .top h1{font-size:1.4rem}.listen-lede,.listen-dynamics-copy{font-size:.72rem;line-height:1.3}.listen-dynamics-card{padding:.6rem .75rem}.listen-dynamics-card h2{font-size:.98rem}}.listen-target-picker{display:flex;justify-content:center;width:100%}.listen-target-picker .note-picker{justify-content:center}.listen-target-picker .note-picker-name{font-family:var(--font-serif, Georgia, "Times New Roman", serif);min-width:4.75ch;text-align:center;font-size:1.45rem;line-height:1.05}.listen-pitch-compare{display:flex;flex-direction:column;align-items:center;width:100%;max-width:24rem;margin:0 auto .65rem;text-align:center;gap:.15rem}.listen-detected-row{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin-top:.35rem;min-height:1.1em}.listen-detected-value{font-size:1.15rem}.listen-pitch-compare .practice-pitch-status{padding-top:0;text-align:center;align-self:center}@media(max-width:720px){.listen-target-picker .note-picker-name{font-size:1.2rem;min-width:4.25ch}.listen-target-picker .note-picker-arrow{font-size:1.2rem;padding:.1rem .25rem}.listen-detected-value{font-size:1rem}.practice-pitch-value{font-size:1.25rem}}.practice-attack-hint{margin:.35rem 0 0;font-size:.85rem;text-align:center}.practice-hold-meter{width:100%;max-width:16rem;margin:.45rem auto 0;text-align:center}.practice-hold-meter .muted{margin:0 0 .2rem}.practice-hold-meter .bar-track{margin:0 auto;max-width:260px}.practice-cents-bar{width:100%;max-width:22rem;margin:.35rem auto .15rem;padding:.15rem .25rem 0}.practice-cents-track{position:relative;height:1.25rem}.practice-cents-line{position:absolute;left:0;right:0;top:50%;height:1px;background:color-mix(in srgb,var(--ink-muted) 55%,transparent);transform:translateY(-50%)}.practice-cents-center{position:absolute;left:50%;top:50%;width:1px;height:.7rem;background:var(--ink-soft);transform:translate(-50%,-50%)}.practice-cents-needle{position:absolute;top:50%;width:2px;height:.95rem;margin-left:-1px;background:var(--ink);border-radius:1px;transform:translateY(-50%);transition:left .08s linear}.practice-cents-labels{display:flex;justify-content:space-between;margin-top:.2rem;font-size:.72rem;color:var(--ink-soft)}.practice-tool-links{display:flex;justify-content:center;gap:1.35rem;margin:.55rem 0 .35rem}.practice-tool-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:.25rem 0;font-size:.92rem;color:var(--ink);cursor:pointer;text-decoration:none}.practice-tool-link:hover,.practice-tool-link.on{color:var(--accent)}.practice-tools-panel{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:100%;max-width:26rem;margin:0 auto .55rem;padding:.75rem .85rem;border-radius:12px;background:var(--paper-card);border:1px solid var(--rule);box-shadow:0 1px color-mix(in srgb,var(--ink) 6%,transparent);animation:practice-goal-in .25s ease-out}.practice-tools-section{display:flex;flex-direction:column;gap:.45rem;width:100%;text-align:center}.practice-tools-heading{margin:0;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.practice-tools-group{display:flex;flex-wrap:wrap;gap:.4rem .55rem;align-items:center;justify-content:center}.practice-tools-divider{height:1px;width:100%;background:var(--rule);opacity:.65;margin:0}.practice-tools-panel .chip{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 28%,var(--rule));background:color-mix(in srgb,var(--paper) 70%,var(--paper-card))}.practice-tools-panel .chip.on{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--paper-card));font-weight:600}.practice-tools-panel .chip:disabled{opacity:.45}.practice-tools-panel .practice-drone-panel{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:100%}.practice-tools-panel .practice-drone-chips{display:flex;flex-wrap:wrap;gap:.4rem .55rem;align-items:center;justify-content:center;width:100%}.practice-tools-panel .practice-drone-vol{display:flex;align-items:center;gap:.55rem;width:100%;max-width:100%;color:var(--ink);font-size:.85rem}.practice-tools-panel .practice-drone-vol-label{flex:0 0 auto;color:var(--ink-soft);font-size:.78rem;font-weight:600;letter-spacing:.02em}.practice-tools-panel .practice-drone-vol input[type=range]{flex:1 1 auto;width:100%;min-width:0;height:1.25rem;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.practice-tools-panel .practice-drone-vol input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:999px;background:color-mix(in srgb,var(--ink) 35%,var(--rule))}.practice-tools-panel .practice-drone-vol input[type=range]::-moz-range-track{height:2px;border-radius:999px;background:color-mix(in srgb,var(--ink) 35%,var(--rule))}.practice-tools-panel .practice-drone-vol input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;border:none;background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--paper-card) 80%,transparent)}.practice-tools-panel .practice-drone-vol input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:none;background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--paper-card) 80%,transparent)}.practice-tools-panel .clef-switch{display:inline-flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.practice-controls{width:100%}.practice-primary-actions{flex-wrap:wrap;gap:.45rem}.practice-btn-primary{min-width:8.5rem;transition:transform .15s ease,box-shadow .15s ease}.practice-btn-primary:hover{transform:translateY(-1px)}.practice-btn-primary:active{transform:translateY(0) scale(.98)}.practice-btn-secondary{min-width:7.5rem;transition:transform .15s ease,opacity .15s ease}.practice-btn-secondary:disabled{opacity:.45}@keyframes practice-goal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes practice-mark-in{0%{opacity:0;transform:translateY(-8px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes practice-label-float{0%,to{transform:translate(-50%) translateY(0);opacity:.95}50%{transform:translate(-50%) translateY(-3px);opacity:1}}@keyframes practice-ok-pulse{0%{transform:scale(1)}40%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes practice-miss-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}html[data-theme=dark] .practice-goal-card{background:color-mix(in srgb,var(--accent) 18%,var(--paper-card));border-color:color-mix(in srgb,var(--accent) 30%,var(--rule))}.practice-tempo-strip{margin:.5rem 0;text-align:center}.practice-lede{max-width:28rem}.practice-lede-hint{color:var(--ink-muted)}.practice-tempo-bpm{font-weight:600;margin-right:.5rem}.practice-focus{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:calc(.75rem + env(safe-area-inset-top)) calc(.75rem + env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) calc(.75rem + env(safe-area-inset-left));background:var(--paper);min-height:100dvh;min-height:100svh;overflow:hidden}.practice-focus-body{width:min(100%,42rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem}.practice-focus-exit{position:absolute;top:calc(.5rem + env(safe-area-inset-top));right:calc(.75rem + env(safe-area-inset-right));z-index:2}.practice-focus-mic{margin-top:.15rem}.practice-focus-staff{width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.practice-focus-staff-inner,.practice-focus-staff .staff-block-practice{width:100%}.practice-focus-tempo{width:100%;text-align:center}.practice-focus-drone{width:100%;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}.practice-focus-drone .practice-drone-panel{width:min(100%,28rem)}.practice-drone-panel{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.practice-drone-chips{display:flex;flex-wrap:wrap;gap:.4rem .65rem;align-items:center;justify-content:center}.practice-drone-panel .practice-drone-vol{display:flex;align-items:center;gap:.55rem;width:100%;font-size:.85rem}.practice-drone-panel .practice-drone-vol-label{flex:0 0 auto;color:var(--ink-soft);font-size:.78rem;font-weight:600}.practice-drone-panel input[type=range]{flex:1 1 auto;width:100%;min-width:0;height:1.25rem;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.practice-drone-panel input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:999px;background:color-mix(in srgb,var(--ink) 35%,var(--rule))}.practice-drone-panel input[type=range]::-moz-range-track{height:2px;border-radius:999px;background:color-mix(in srgb,var(--ink) 35%,var(--rule))}.practice-drone-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;border:none;background:var(--accent)}.practice-drone-panel input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:none;background:var(--accent)}.practice-drone-hint{margin:.35rem 0 0;font-size:.85rem}.practice-focus-tuner{width:100%;max-width:28rem;overflow:hidden}@media(orientation:landscape){.practice-focus-body{width:min(92vw,56rem);max-height:calc(100dvh - 2rem);overflow:hidden}.practice-focus-staff{flex:1 1 auto;min-height:0}.practice-focus-tuner{max-width:100%}}body.practice-focus-active{overflow:hidden}body.practice-focus-active .nav{display:none}.staff-line{stroke:var(--ink);stroke-width:1.2;stroke-linecap:square}.staff-ledger{stroke:var(--ink);stroke-width:1;stroke-linecap:butt}.staff-stem{stroke:var(--ink);stroke-width:1.2;stroke-linecap:butt}.staff-stem.on{stroke:var(--accent)}.staff-clef{fill:var(--ink)}.staff-head{fill:var(--ink);stroke:var(--ink);stroke-width:1.1}.staff-head.on{fill:var(--accent);stroke:var(--accent)}.staff-rest{fill:var(--ink)}.staff-accidental{fill:var(--ink);font-size:13px;font-family:Georgia,Times New Roman,serif}.clef-switch{display:flex;justify-content:center;gap:.3rem}.staff-chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .75rem}.tuner{text-align:center;margin:.2rem 0 .85rem;padding:0;background:none;border:none;box-shadow:none}.fingering-wrap{display:flex;align-items:center;justify-content:center;gap:.15rem;touch-action:pan-y}.fingering-arrow{border:none;background:transparent;color:var(--ink-soft);font-size:1.15rem;line-height:1;padding:.1rem .3rem;cursor:pointer}.fingering-editor{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.swatch-row{display:flex;gap:.55rem;flex-wrap:wrap}.swatch{width:2rem;height:2rem;border-radius:50%;border:2px solid var(--rule);cursor:pointer;padding:0}.swatch.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}.swatch[data-accent=moss]{background:#3f5a45}.swatch[data-accent=leaf]{background:#5b7f5e}.swatch[data-accent=bark]{background:#6a4e3a}.swatch[data-accent=gold]{background:#c4a35a}.swatch[data-accent=flower]{background:#b56b63}.swatch-custom{position:relative;overflow:hidden;background:var(--accent-custom, #4a6670)}.swatch-custom:after{content:"+";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--btn-ink);font-size:1rem;line-height:1;pointer-events:none;text-shadow:0 0 2px rgba(0,0,0,.35)}.swatch-custom input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}.exercise-draft{margin:.85rem 0 0;padding-top:.7rem;border-top:1px solid var(--rule)}.draft-warn{color:var(--danger);font-size:.88rem}.folder-pills{margin:.35rem 0 .55rem}.folder-pill{--folder: var(--accent);border-color:var(--folder);color:var(--folder);cursor:pointer;background:transparent}.folder-pill.on{background:color-mix(in srgb,var(--folder) 18%,var(--paper));border-color:var(--folder);color:var(--folder)}.slot-chip{cursor:pointer;background:transparent}.slot-chip[data-slot=roots]{--slot: #3f5a45}.slot-chip[data-slot=flexibility]{--slot: #5b7f5e}.slot-chip[data-slot=targeted]{--slot: #c4a35a}.slot-chip[data-slot=retrieval]{--slot: #4a6670}.slot-chip[data-slot=music]{--slot: #b56b63}.slot-chip[data-slot=cooldown]{--slot: #a67c52}.slot-chip.on{border-color:var(--slot, var(--accent));color:var(--slot, var(--accent));background:color-mix(in srgb,var(--slot, var(--accent)) 16%,var(--paper))}.ex-category .ex-group{padding:0 1.1rem 1rem;margin-top:0}.ex-group{margin-top:.7rem}.ex-category{padding:0}.ex-category-summary{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;cursor:pointer;list-style:none;padding:1rem 1.1rem}.ex-category-summary::-webkit-details-marker{display:none}.ex-category-summary:before{content:"▸";color:var(--muted, #666);font-size:.85rem;transition:transform .15s ease}.ex-category[open] .ex-category-summary:before{transform:rotate(90deg)}.ex-category-summary h2{margin:0;flex:1 1 auto}.ex-category-count{font-size:.85rem}.ex-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.15rem 0}.ex-empty p{margin:0;font-size:.9rem}.library-header{display:flex;align-items:center;gap:.55rem;margin:0 0 .85rem}.library-search{position:relative;flex:1 1 auto;display:block}.library-search input[type=search]{width:100%;box-sizing:border-box;padding:.55rem 2rem .55rem .75rem;border:1px solid var(--rule);border-radius:10px;background:var(--paper-input, var(--paper-card));color:var(--ink);font-size:.95rem}.library-search input[type=search]::-webkit-search-cancel-button{display:none}.library-search-clear{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-soft);font-size:1.25rem;line-height:1;padding:.2rem .4rem;cursor:pointer}.library-shelf-config{flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);border-radius:10px;background:var(--paper-card);color:var(--ink);font-size:1.15rem;width:2.5rem;height:2.5rem;cursor:pointer}.library-shelf-config:hover{border-color:var(--accent);color:var(--accent)}.library-shelf{margin:0 0 .45rem;border:1px solid var(--rule);border-radius:10px;background:var(--paper-card);overflow:hidden}.library-bookmarked-shelf{background:color-mix(in srgb,var(--accent) 12%,var(--paper-card));border-color:color-mix(in srgb,var(--accent) 35%,var(--rule))}.library-book-spine{display:flex;align-items:center;gap:.5rem;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink);text-align:left;padding:.65rem .85rem;cursor:pointer;font:inherit}.library-bookmarked-spine{cursor:default;font-size:1rem;font-weight:650;margin:0}.library-book-spine:before{content:"";width:.4rem;height:1.15rem;border-radius:2px;background:var(--folder, var(--accent));flex:0 0 auto}.library-bookmarked-spine:before{background:var(--accent)}.library-book-title{flex:1 1 auto;font-weight:650;font-size:1rem}.library-book-count{font-size:.82rem}.library-book-chevron{color:var(--ink-muted);font-size:.8rem}.library-book-open{padding:.45rem .75rem .65rem .9rem;display:flex;flex-direction:column;gap:.3rem;border-top:1px solid color-mix(in srgb,var(--rule) 70%,transparent)}.library-exercise-item{display:flex;align-items:flex-start;gap:.3rem;padding:.35rem .2rem .35rem .3rem;border-radius:8px}.library-exercise-item:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.library-exercise-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.2rem}.library-exercise-link{color:inherit;text-decoration:none}.library-exercise-link strong{display:block;font-size:.88rem;font-weight:600;line-height:1.25}.library-exercise-link .muted{margin-top:.1rem;font-size:.78rem;line-height:1.3}.library-exercise-link:hover strong{color:var(--accent)}.library-exercise-chips{margin-top:.05rem;gap:.3rem;flex-wrap:wrap;align-items:center}.library-exercise-chips .chip,.library-chip-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:transparent;font:inherit;font-size:.72rem;letter-spacing:.02em;line-height:1;padding:.28rem .45rem;border-radius:6px}.library-chip-btn:hover{border-color:var(--accent);color:var(--accent)}.library-chip-input{width:4rem;padding:.22rem .4rem;border:1px solid var(--accent);border-radius:6px;background:var(--paper-input, var(--paper-card));color:var(--ink);font-size:.72rem;line-height:1}.library-tag-input{width:7.5rem}.library-exercise-actions{display:flex;flex:0 0 auto;align-items:center;gap:.1rem}.library-copy-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--rule) 80%,transparent);background:transparent;color:var(--ink-soft);font-size:.72rem;letter-spacing:.02em;line-height:1;padding:.28rem .45rem;border-radius:6px;cursor:pointer}.library-copy-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--rule))}.library-delete-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--rule) 80%,transparent);background:transparent;color:var(--ink-soft);font-size:.72rem;letter-spacing:.02em;line-height:1;padding:.28rem .45rem;border-radius:6px;cursor:pointer}.library-delete-btn:hover{color:color-mix(in srgb,#b33 80%,var(--ink));border-color:color-mix(in srgb,#b33 45%,var(--rule))}.library-bookmark-star{flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-muted);font-size:1.15rem;line-height:1;padding:.2rem .35rem;cursor:pointer}.library-bookmark-star.on,.library-bookmark-star:hover{color:var(--accent)}.library-create-btn{align-self:flex-start;margin-top:.2rem;padding:.28rem .7rem;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--rule));border-radius:999px;color:var(--accent);background:transparent;font-size:.82rem;font-weight:600;text-decoration:none;line-height:1.2}.library-create-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.library-no-results{margin:.5rem 0 1rem;padding:.75rem .85rem;border-radius:10px;border:1px dashed var(--rule)}.library-shelf-config-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:color-mix(in srgb,#000 45%,transparent)}.library-shelf-config-panel{width:min(100%,22rem);max-height:min(80dvh,32rem);overflow:auto;padding:1rem 1.1rem 1.15rem;border-radius:14px;background:var(--paper-card);color:var(--ink);border:1px solid var(--rule);box-shadow:0 12px 32px var(--shadow, rgba(0, 0, 0, .25))}.library-shelf-config-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.library-shelf-config-header h2{margin:0;font-size:1.15rem}.library-shelf-config-lede{margin:0 0 .65rem;font-size:.9rem}.library-shelf-config-actions{display:flex;gap:.45rem;margin-bottom:.65rem}.library-shelf-config-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.library-shelf-config-item{display:flex;align-items:center;gap:.55rem;padding:.35rem .15rem;cursor:pointer}@media(min-width:520px){.library-shelf-config-overlay{align-items:center}}.ex-create-btn{text-decoration:none}.ex-group .choice{margin-top:.35rem}.choice .folder-pill{margin-right:.2rem;vertical-align:middle}.folder-color-row{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.app-shell-scan-editor{max-width:none;width:100%;margin:0;min-height:100dvh;height:100dvh;padding-bottom:0;box-shadow:none;overflow:hidden}.app-shell-dataset-training{max-width:none;width:100%;margin:0;min-height:100dvh;height:auto;padding-bottom:2rem;box-shadow:none;overflow:visible}.app-shell-dataset-training .dataset-training{min-height:auto;height:auto;overflow:visible}.app-shell-scan-editor .nav{display:none}.scan-editor-shell{position:relative;display:flex;flex-direction:column;gap:.45rem;height:100%;min-height:0;padding:.5rem .7rem .55rem;overflow:hidden}.scan-editor-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.scan-editor-header-meta{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.scan-step-pill{font-size:.78rem;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--accent, #4a6670) 12%,transparent);color:var(--ink, #222);font-weight:600}.scan-step-warn{background:color-mix(in srgb,#b56b63 18%,transparent)}.scan-editor-panels.staff-v2-layout{flex-direction:row;align-items:stretch;overflow:hidden;gap:.4rem}.scan-editor-panels.staff-v2-layout .staff-v2-preview-pane{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.scan-staff-sidebar{position:relative;flex:0 0 340px;width:340px;min-width:280px;max-width:380px;min-height:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border, #ccc);border-radius:8px;background:var(--paper, #fff)}.scan-staff-sidebar.collapsed{flex:0 0 36px;width:36px;min-width:36px;max-width:36px}.scan-sidebar-toggle{flex:0 0 auto;align-self:stretch;border:none;border-bottom:1px solid var(--border, #ddd);background:color-mix(in srgb,var(--accent, #4a6670) 8%,transparent);cursor:pointer;font-size:.85rem;padding:.35rem .45rem;color:var(--ink, #222)}.scan-staff-sidebar.collapsed .scan-sidebar-toggle{writing-mode:vertical-rl;transform:rotate(180deg);flex:1;border-bottom:none;letter-spacing:.08em}.scan-staff-sidebar .staff-v2-panel{flex:1;min-height:0;overflow:auto;border:none;border-radius:0;padding:.45rem}.scan-staff-sidebar.collapsed .staff-v2-panel{display:none}.staff-v2-preview-viewport{flex:1;min-height:0;max-height:none}.staff-v2-full-height.scan-zoom-clip{min-height:0;max-height:none;height:100%}.staff-v2-full-height.scan-zoom-svg{max-height:none;height:100%;width:100%;object-fit:contain}.scan-source-pane.staff-v2-preview-pane{padding:0;border:1px solid var(--border, #ccc)}.scan-source-pane.staff-v2-preview-pane .staff-v2-preview-viewport{border:none;border-radius:8px;min-height:0;max-height:none}.scan-editor-panels{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow:auto}.scan-source-pane{flex-shrink:0}.scan-notation-column{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:280px;min-width:0}.scan-source-pane,.scan-notation-pane{display:flex;flex-direction:column;gap:.5rem;min-height:0;border:1px solid var(--border, #ccc);border-radius:8px;padding:.55rem;background:var(--paper, #fff)}.scan-source-pane{overflow:hidden}.scan-notation-pane{overflow:auto;flex:1}.scan-notation-placeholder{align-items:center;justify-content:center;text-align:center}.scan-region-hint{margin:0;font-size:.85rem}.scan-source-viewport{flex:1;width:100%;min-height:min(45vh,520px);max-height:55vh;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border, #ddd);border-radius:6px;background:#f6f6f6}.scan-region-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:crosshair}.scan-region-image-box{position:relative;display:inline-block;max-width:100%;max-height:100%}.scan-region-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none}.scan-region-marquee{position:absolute;border:2px dashed var(--accent, #4a6670);background:color-mix(in srgb,var(--accent, #4a6670) 15%,transparent);pointer-events:none;box-sizing:border-box}.scan-cropped-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.scan-cropped-image{display:block;width:100%;max-height:100%;height:auto;object-fit:contain}.scan-rotate-select{font-size:.85rem;padding:.25rem .4rem;border-radius:6px;border:1px solid var(--border, #ccc)}.scan-source-summary-body{flex:1;overflow:auto;padding:.25rem 0}.scan-source-filename{font-weight:600;margin:0 0 .35rem;word-break:break-word}.scan-source-pitch-list{margin-top:.75rem}.scan-source-pitch-heading{margin:0 0 .35rem;font-weight:600}.scan-source-pitch-ol{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.scan-source-pitch-ol li{display:flex;align-items:center;gap:.4rem}.scan-note-strip{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.15rem;flex-shrink:0}.scan-note-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--border, #ccc);background:var(--paper, #fff);font-size:.82rem;white-space:nowrap;cursor:pointer}.scan-note-chip.on{border-color:var(--accent, #4a6670);background:color-mix(in srgb,var(--accent, #4a6670) 14%,transparent)}.scan-note-chip.uncertain{border-color:#b56b63;border-style:dashed}.scan-note-chip-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;border-radius:999px;background:var(--accent, #4a6670);color:#fff;font-size:.72rem;font-weight:700}.scan-note-chip.uncertain .scan-note-chip-num{background:#b56b63}.draft-note-editor-scan .markings-toolbar.compact{gap:.25rem}.draft-note-editor-scan .staff-editor-toolbar{flex-wrap:wrap}.vexflow-hit-index{display:block;font-size:.65rem;font-weight:700;color:var(--accent, #4a6670);margin-bottom:.15rem}.vexflow-hit.on .vexflow-hit-index{color:#fff}.scan-pane-toolbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.scan-pane-title{font-weight:600;margin-right:auto}.scan-crop-controls,.scan-source-scroll{display:none}.scan-source-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:all}.scan-symbol-box{fill:transparent;stroke:var(--accent, #4a6670);stroke-width:2;pointer-events:all;cursor:pointer}.scan-symbol-box.uncertain{stroke:#b56b63;stroke-dasharray:4 3}.scan-zoom-clip{width:100%;height:100%;min-height:min(45vh,520px);display:flex;align-items:center;justify-content:center}.scan-zoom-svg{width:100%;height:100%;max-height:55vh;display:block;background:#fff}.scan-header-readout{margin:0;font-size:.85rem;font-weight:600}.scan-compare-line{margin:0;font-size:.9rem}.scan-compare-line.mismatch{color:#8a3b35;font-weight:600}.scan-playthrough{display:flex;flex-direction:column;gap:.35rem}.scan-playthrough-controls{gap:.4rem}.scan-symbol-box.on{fill:color-mix(in srgb,var(--accent, #4a6670) 22%,transparent);stroke-width:4}.scan-symbol-badge{fill:var(--accent, #4a6670);stroke:#fff;stroke-width:1.5;pointer-events:none}.scan-symbol-badge.uncertain{fill:#b56b63}.scan-symbol-badge.on{fill:color-mix(in srgb,var(--accent, #4a6670) 80%,#000)}.scan-symbol-badge-label{fill:#fff;font-size:10px;font-weight:700;pointer-events:none}.scan-review-queue{margin-top:.25rem;border:1px solid var(--border, #ccc);border-radius:8px;padding:.55rem .65rem;background:var(--paper, #fff)}.scan-review-queue.card{box-shadow:none}.scan-finish-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#000 35%,transparent);display:flex;align-items:center;justify-content:center;z-index:40;padding:1rem}.scan-finish-modal{width:min(480px,100%);max-height:min(90vh,720px);overflow:auto;margin:0}.scan-finish-actions{margin-top:.5rem;justify-content:flex-end}.scan-editor-header h1{margin:0;font-size:1.25rem}.scan-review-list{list-style:none;padding:0;margin:.35rem 0 0;display:flex;flex-direction:column;gap:.55rem}.scan-review-item{border-top:1px solid var(--border, #ddd);padding-top:.45rem}.scan-review-prompt{margin:0 0 .2rem;font-weight:600}.scan-review-why{font-size:.78rem;margin:0 0 .35rem}.scan-learning-summary ul{margin:.35rem 0;padding-left:1.1rem}.scan-learning-stats{list-style:disc}.scan-editor-busy{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background:var(--paper, #fff);border:1px solid var(--border, #ccc);padding:.35rem .75rem;border-radius:999px}.staff-v2-mode-toggle,.staff-v2-tabs{display:flex;gap:.25rem;flex-wrap:wrap}.staff-v2-tab{font-size:.78rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border, #ccc);background:transparent;cursor:pointer}.staff-v2-tab.on{background:color-mix(in srgb,var(--accent, #4a6670) 16%,transparent);font-weight:600}.staff-v2-panel{display:flex;flex-direction:column;gap:.55rem;border:1px solid var(--border, #ccc);border-radius:8px;padding:.55rem;background:var(--paper, #fff)}.staff-v2-note,.staff-v2-recipe,.staff-v2-status{margin:0;font-size:.85rem}.staff-v2-warning{margin:0;color:#8a3a32;font-size:.85rem}.staff-v2-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.staff-v2-item{width:100%;display:flex;gap:.5rem;align-items:center;justify-content:space-between;padding:.35rem .5rem;border:1px solid var(--border, #ddd);border-radius:6px;background:transparent;cursor:pointer}.staff-v2-item.on{border-color:var(--accent, #4a6670);background:color-mix(in srgb,var(--accent, #4a6670) 10%,transparent)}.staff-v2-detail h3{margin:.25rem 0;font-size:.95rem}.staff-v2-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem;margin:0}.staff-v2-detail dt{font-size:.75rem;color:var(--muted, #666)}.staff-v2-detail dd{margin:0;font-variant-numeric:tabular-nums}.staff-v2-adjust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.staff-v2-adjust label{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem}.staff-v2-export,.staff-v2-actions{flex-wrap:wrap}.staff-v2-group.recovered .staff-v2-line{stroke:#2a7a4b;stroke-width:2.2}.staff-v2-group.recovered .staff-v2-box{fill:color-mix(in srgb,#2a7a4b 10%,transparent);stroke:#2a7a4b}.staff-v2-group.high .staff-v2-line,.staff-v2-group.high .staff-v2-box{stroke:#2a7a4b}.staff-v2-group.uncertain .staff-v2-line,.staff-v2-group.uncertain .staff-v2-box{stroke:#b8922a}.staff-v2-group.low .staff-v2-line{stroke:#b56b63}.staff-v2-group.curved .staff-v2-line{stroke-dasharray:4 3}.staff-v2-group.candidate .staff-v2-line,.staff-v2-line.candidate{stroke:#b8922a;stroke-dasharray:6 4;opacity:.75}.staff-v2-label.candidate{fill:#b8922a;font-size:10px}.staff-v2-debug-toggle{display:flex;align-items:center;gap:.35rem;font-size:.82rem;margin:0}.staff-v2-merge-stats{margin:0;font-size:.82rem}.staff-v2-kind{font-size:.72rem;opacity:.85}.staff-v2-line{stroke:#c45c26;stroke-width:1.4;fill:none}.staff-v2-group.on .staff-v2-line{stroke:#1f6f8b;stroke-width:2}.staff-v2-box{fill:color-mix(in srgb,#c45c26 8%,transparent);stroke:#c45c26;stroke-width:1;cursor:pointer}.staff-v2-group.on .staff-v2-box{fill:color-mix(in srgb,#1f6f8b 12%,transparent);stroke:#1f6f8b}.staff-v2-group.rejected{opacity:.35}.staff-v2-label{font-size:11px;fill:#c45c26;font-weight:700}.staff-v2-group.on .staff-v2-label{fill:#1f6f8b}.staff-v2-seed-band{fill:#2e7d3214;stroke:#2e7d3259;stroke-width:1;pointer-events:none}.staff-v2-seed-box{fill:#2e7d321f;stroke:#2e7d328c;stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.staff-v2-stop-line{stroke:#c628288c;stroke-width:1;stroke-dasharray:3 4;pointer-events:none}.staff-v2-track-dot{fill:#1976d2bf;pointer-events:none}.staff-v2-predicted{stroke:#78787873;stroke-width:.8;stroke-dasharray:2 2;pointer-events:none}.staff-v2-conf-tick{font-size:8px;fill:#1976d2d9;pointer-events:none}.staff-v2-observed-line{stroke:#2e7d32d9;stroke-width:1.2;pointer-events:none}.staff-v2-predicted-staff{stroke:#78787880;stroke-width:.8;stroke-dasharray:3 3;pointer-events:none}.staff-v2-state-tick{font-size:8px;fill:#2e7d32e6;pointer-events:none}.staff-v2-kin-label{font-size:9px;fill:#1976d2e6;pointer-events:none}.staff-v2-deviation circle{fill:none;stroke:#c62828d9;stroke-width:1.2;pointer-events:none}.staff-v2-deviation text{font-size:9px;fill:#c62828e6;pointer-events:none}.staff-v2-comparison-dot{fill:#9c27b08c;pointer-events:none}.staff-v2-centerline{stroke:#1976d2a6;stroke-width:1.4;pointer-events:none}.staff-v2-search-region{fill:#ffc10714;stroke:#ff980073;stroke-width:.8;pointer-events:none}.staff-v2-rescued-line{stroke:#c62828d9;stroke-width:1.4;pointer-events:none}.staff-v2-coast-line{stroke:#ff9800b3;stroke-width:1.1;stroke-dasharray:2 2;pointer-events:none}.staff-v2-track-dot.coasted{fill:#ff9800d9}.staff-v2-track-dot.reacquired{fill:#2e7d32f2}.staff-v2-warp-band{fill:#9c27b014;stroke:#9c27b073;stroke-width:1;stroke-dasharray:5 4;pointer-events:none}.staff-v2-warp-curve{stroke:#9c27b0b3;stroke-width:1.6;stroke-dasharray:6 4;pointer-events:none}.staff-v2-warp-candidate{fill:#ffc107d9;pointer-events:none}.comparison-shell{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.scan-editor-panels.comparison-layout{flex-direction:row}.scan-editor-panels.comparison-layout .comparison-shell{flex:1 1 auto;min-width:0;min-height:0}.comparison-pane{min-height:0;overflow:auto;background:var(--paper-card);border:1px solid var(--rule);border-radius:8px}.comparison-divider{flex:0 0 8px;cursor:ns-resize;background:var(--rule);border-radius:4px;margin:.2rem 0}.skeleton-notation{padding:.6rem .75rem}.skeleton-notation-label{font-weight:700;margin:0 0 .35rem}.skeleton-notation-svg{width:100%;height:auto;max-height:100%}.skeleton-staff-line{stroke:var(--ink);stroke-width:1}.skeleton-bar{stroke:var(--ink-soft);stroke-width:1.2}.skeleton-passage-label{fill:var(--ink-soft);font-size:11px}.skeleton-staff.on .skeleton-staff-line{stroke:var(--accent)}.review-session{position:absolute;inset:auto .7rem .7rem;max-height:48%;overflow:auto;z-index:6}.review-batch{display:flex;flex-direction:column;gap:.6rem}.review-card{padding:.7rem}.review-card-header h3{margin:0 0 .2rem}.review-card-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.review-crop{width:100%;max-height:180px;background:#1a1814}.review-crop-hl{fill:color-mix(in srgb,var(--gold) 22%,transparent);stroke:var(--gold);stroke-width:1.5}.review-crop-hl.bar{fill:color-mix(in srgb,var(--accent) 35%,transparent)}.review-adjust{display:flex;flex-direction:column;gap:.35rem;margin-top:.4rem}.part-assign{position:absolute;top:3.5rem;right:.7rem;bottom:.7rem;left:.7rem;overflow:auto;z-index:7}.part-assign-page{width:100%;max-height:46vh;background:var(--paper-2)}.part-staff-box.on{stroke:var(--accent);stroke-width:3}.part-staff-box.excluded{stroke-dasharray:4 3;opacity:.45}.passage-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.4rem}.page-corners-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--ink, #1a1814) 42%,transparent)}.page-corners{position:relative;inset:auto;z-index:21;width:min(960px,100%);max-height:calc(100vh - 2rem);overflow:auto}.page-corners-svg{display:block;width:100%;max-height:min(68vh,720px);touch-action:none;-webkit-user-select:none;user-select:none;cursor:default}.page-corners-poly{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:var(--accent);stroke-width:2}.page-corner-hit{fill:transparent;stroke:none;cursor:grab;touch-action:none}.page-corner-handle{fill:var(--paper);stroke:var(--accent);stroke-width:3;pointer-events:none}.page-corner-handle.dragging{fill:color-mix(in srgb,var(--accent) 18%,var(--paper));stroke-width:4;cursor:grabbing}.page-corner-label{font-size:clamp(12px,1.4vw,16px);font-weight:700;paint-order:stroke fill;stroke:var(--paper);stroke-width:3px}.review-barline{stroke:var(--ink);stroke-width:2}.review-barline.predicted{stroke:var(--gold)}.review-barline.corrected{stroke:#3a5f8a}.staff-v2-group.accepted .staff-v2-line{stroke:var(--leaf)}.staff-v2-group.accepted .staff-v2-box{fill:color-mix(in srgb,var(--leaf) 18%,transparent);stroke:var(--leaf)}.staff-v2-group.corrected .staff-v2-line{stroke:#3a5f8a}.staff-v2-group.corrected .staff-v2-box{fill:color-mix(in srgb,#3a5f8a 16%,transparent);stroke:#3a5f8a}.staff-v2-group.predicted .staff-v2-line{stroke:var(--gold)}.staff-v2-group.predicted .staff-v2-box{fill:color-mix(in srgb,var(--gold) 16%,transparent);stroke:var(--gold)}.staff-v2-group.rejected .staff-v2-box{fill:color-mix(in srgb,#888 10%,transparent);stroke:#888;stroke-dasharray:6 4}.staff-v2-group.missing-staff .staff-v2-box,.staff-v2-group.missing-staff .staff-v2-line{stroke:#c04545;stroke-dasharray:8 4}.scan-editor-panels.problems-open.comparison-layout{flex-direction:row;overflow:hidden}.scan-editor-panels.problems-open .comparison-shell{flex:1 1 auto;min-width:0}.problems-panel{display:flex;flex-direction:column;background:var(--paper-card);border:1px solid var(--rule);z-index:8;min-height:0;height:100%;align-self:stretch;box-shadow:-4px 0 16px #0000000f}.problems-dock{flex:0 0 min(360px,34vw);width:min(360px,34vw);max-width:400px;min-width:300px;border-left:1px solid var(--rule);overflow:hidden}.problems-sheet{position:fixed;left:0;right:0;bottom:0;z-index:24;max-height:min(72vh,640px);min-height:320px;border-radius:14px 14px 0 0;box-shadow:0 -10px 32px #0000002e}.problems-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;border-bottom:1px solid var(--rule);flex-shrink:0;background:var(--paper-card)}.problems-header h2{margin:0;font-size:1.05rem;font-weight:700}.problems-count{margin:.2rem 0 0;font-size:.88rem}.problems-nav-wrap{flex-shrink:0;padding:.45rem .75rem .55rem;border-bottom:1px solid var(--rule)}.problems-nav-label{margin:0 0 .35rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.problems-nav{display:block}.problems-nav-svg{display:block;width:100%;height:72px;background:var(--paper-2);border-radius:6px;border:1px solid var(--rule)}.problems-nav-item{fill:color-mix(in srgb,var(--gold) 25%,transparent);stroke:var(--gold);stroke-width:max(1.5,.15%);cursor:pointer}.problems-nav-item.status-accepted{fill:color-mix(in srgb,var(--leaf) 28%,transparent);stroke:var(--leaf)}.problems-nav-item.status-missing{fill:color-mix(in srgb,#c44 22%,transparent);stroke:#c44}.problems-nav-item.status-corrected{fill:color-mix(in srgb,#3a5f8a 22%,transparent);stroke:#3a5f8a}.problems-expected{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.85rem;border-bottom:1px solid var(--rule);flex-shrink:0}.problems-expected input{width:4.5rem;padding:.2rem .35rem}.problems-detail{flex:1 1 auto;min-height:0;overflow:auto;padding:.5rem .65rem .65rem}.problems-panel .review-card{border:none;box-shadow:none;padding:0;background:transparent}.problems-panel .review-card-header h3{font-size:.95rem;line-height:1.35;margin-bottom:.35rem}.problems-panel .review-crop,.problems-panel .problems-thumb{width:100%;min-height:140px;max-height:min(36vh,280px);height:auto;border-radius:6px;background:#1a1814;border:1px solid var(--rule)}.problems-panel .review-card-actions{flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.problems-panel .review-card-actions .btn{font-size:.85rem;padding:.35rem .6rem}.problems-list{list-style:none;margin:0;padding:.5rem .65rem;overflow:auto;flex:1 1 auto;min-height:0}.problems-list-compact{flex:0 0 auto;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.35rem;overflow-x:auto;overflow-y:hidden;padding:.45rem .65rem .65rem;border-top:1px solid var(--rule);max-height:none}.problems-list-compact li{flex:0 0 auto}.problems-chip{border:1px solid var(--rule);background:var(--paper-2);border-radius:999px;padding:.25rem .65rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.problems-chip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--paper-2));font-weight:600}.problems-row{display:flex;flex-direction:column;gap:.45rem;padding:.55rem;margin-bottom:.45rem;border:1px solid var(--rule);border-radius:8px;background:var(--paper-2)}.problems-row.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper-2))}.problems-row-main{display:grid;grid-template-columns:72px 1fr;gap:.55rem;align-items:center;width:100%;padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.problems-thumb{width:72px;height:52px;border-radius:4px;overflow:hidden;background:#1a1814;flex-shrink:0}.problems-row-label{font-size:.88rem;line-height:1.35}.problems-row-actions{display:flex;flex-wrap:wrap;gap:.3rem}.problems-row-actions .btn{font-size:.8rem;padding:.25rem .5rem}.problem-status-accepted{color:var(--leaf)}.problem-status-predicted{color:var(--gold)}.problem-status-corrected{color:#3a5f8a}.problem-status-rejected{color:var(--ink-soft)}.problem-status-missing{color:#c44}.staff-v2-line.missing-staff{stroke:#c44;stroke-width:2}.staff-v2-group.missing-staff .staff-v2-line{stroke:#c44}.symbol-note-candidate{fill:color-mix(in srgb,var(--accent) 35%,transparent);stroke:var(--accent);stroke-width:1}.symbol-note-candidate.notehead-active,.review-crop-hl.notehead-active{fill:color-mix(in srgb,#c9a227 25%,transparent);stroke:#c9a227;stroke-width:2.5}.problems-pause-banner{margin:.35rem 0 0;padding:.35rem .5rem;border-radius:6px;background:color-mix(in srgb,var(--warn, #b8860b) 12%,var(--paper, #fff));color:var(--text, inherit);font-size:.85rem}.staff-draw-preview{fill:color-mix(in srgb,var(--accent) 18%,transparent);stroke:var(--accent);stroke-width:2;stroke-dasharray:6 4}.staff-draw-hint{fill:var(--ink);font-size:12px;pointer-events:none}.staff-draw-cancel-btn{fill:var(--paper-card);stroke:var(--rule);cursor:pointer}.staff-draw-cancel-label{fill:var(--ink);font-size:11px;cursor:pointer}.staff-v2-manual-notes{margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.staff-v2-manual-notes-label{font-size:13px;font-weight:600;margin:0 0 4px}.staff-v2-manual-notes-hint{font-size:12px;margin:0 0 8px}.staff-v2-manual-notes-actions{gap:8px}.note-add-capture.note-add-crosshair{cursor:crosshair}.note-add-hint{fill:var(--ink);font-size:13px;pointer-events:none}.workflow-stepper{display:flex;flex-direction:column;gap:6px;min-width:0}.workflow-steps{display:flex;flex-wrap:wrap;gap:6px}.workflow-step{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);background:var(--paper-card);border-radius:999px;padding:.25rem .7rem;font-size:.85rem;cursor:pointer}.workflow-step.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--paper-card))}.workflow-step:disabled{opacity:.45;cursor:not-allowed}.workflow-step-index{display:inline-flex;width:1.2rem;height:1.2rem;align-items:center;justify-content:center;border-radius:50%;background:var(--rule);font-size:.75rem}.workflow-summary{margin:0;font-size:.85rem;color:var(--ink-muted, inherit)}.staff-step-candidate-msg{flex:1 1 100%;margin:0;font-size:13px}.staff-dev-panel{padding:8px}.staff-symbol-progress{margin:0 0 8px;padding-left:1.2rem;font-size:12px;color:var(--ink-muted, inherit)}.staff-step-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px}.staff-step-toolbar .btn.on{background:color-mix(in srgb,var(--accent) 18%,var(--paper-card));border-color:var(--accent)}.staff-step-placement-hint{flex:1 1 100%;margin:0;font-size:13px;color:var(--accent)}.staff-step-toast{flex:1 1 100%;margin:0;font-size:13px;color:var(--ink)}.skeleton-note-filled{fill:var(--ink)}.skeleton-note-filled.provisional{fill:var(--ink-muted)}.skeleton-note-hollow{stroke:var(--ink)}.skeleton-note-review-marker{fill:#b8860b}.note-add-cancel-btn{fill:var(--paper-card);stroke:var(--rule);cursor:pointer}.note-add-cancel-label{fill:var(--ink);font-size:11px;cursor:pointer}@media(max-width:767px){.scan-editor-panels.problems-open.comparison-layout{flex-direction:column}.problems-dock{flex:none;width:100%;max-width:none;min-width:0;border-left:none;border-top:1px solid var(--rule);height:min(72vh,640px)}.problems-panel .review-crop,.problems-panel .problems-thumb{max-height:min(28vh,220px)}}.omr-lab{display:flex;flex-direction:column;height:100vh;min-height:0;overflow-y:auto;background:var(--paper, #f7f4ee)}.omr-lab header{padding:.75rem 1rem;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:.75rem}.omr-lab header h1{margin:0;font-size:1.15rem}.omr-lab-toolbar,.omr-lab-views{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem 1rem;border-bottom:1px solid var(--rule)}.omr-lab-gt-banner,.omr-lab-archived-banner,.omr-lab-tool-hint,.omr-lab-tool-instruction,.omr-lab-status,.omr-lab-uncalibrated{margin:0;padding:.45rem 1rem;font-size:14px;color:var(--ink, #2a2118)}.omr-lab-archived-banner{background:#f3e6c8;border-bottom:1px solid var(--rule);font-weight:600}.symbol-lab{display:flex;flex-direction:column;min-height:100vh;background:var(--paper);color:var(--ink)}.symbol-lab .hint,.symbol-lab-sidebar>p,.symbol-lab-main>p{color:var(--ink-soft)}.symbol-lab pre{color:var(--ink-soft);background:var(--paper-card);border:1px solid var(--rule);border-radius:6px;padding:.5rem .65rem;font-size:12px;overflow:auto}.symbol-lab header,.symbol-lab-header{padding:.75rem 1rem;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:var(--paper);color:var(--ink)}.symbol-lab header h1,.symbol-lab-header h1{margin:0;font-size:1.15rem;color:var(--ink)}.symbol-lab-main{padding:1rem;flex:1;min-width:0;color:var(--ink);background:var(--paper)}.symbol-lab-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:0;flex:1;min-height:0}.symbol-lab-sidebar{border-right:1px solid var(--rule);padding:1rem;overflow:auto;font-size:14px;color:var(--ink);background:var(--paper)}.symbol-lab-import-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.symbol-lab-sidebar .page-list{list-style:none;padding:0;margin:.75rem 0 0}.symbol-lab-sidebar .page-list-row{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.15rem}.symbol-lab-sidebar .page-list .page-list-select{flex:1;min-width:0;text-align:left;padding:.35rem .5rem;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.symbol-lab-sidebar .page-list .page-list-select.active{background:var(--paper-card);border-color:var(--rule);border-radius:6px;color:var(--ink)}.symbol-lab-sidebar .page-list-delete{flex:0 0 auto;padding:.25rem .45rem;font-size:12px;color:var(--danger)}.page-id-rename{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}.page-id-rename input{min-width:8rem;max-width:18rem;background:var(--paper-input);color:var(--ink);border:1px solid var(--rule);border-radius:4px}.page-id-rename.is-compact input{min-width:7rem;max-width:14rem;font-size:12px}.symbol-lab-sidebar .page-id-rename{flex:1 1 100%}.labeling-status{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:13px;margin-bottom:.75rem;color:var(--ink-soft)}.labeling-status span{color:var(--ink-soft)}.labeling-instruction{margin:0 0 .65rem;font-size:.95rem;line-height:1.4;color:var(--ink)}.label-phase-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.65rem;font-size:.85rem}.label-phase-item{display:inline-flex;align-items:center;gap:.35rem}.label-phase-sep{color:var(--ink-soft);opacity:.55;-webkit-user-select:none;user-select:none}.label-phase-strip .current{font-weight:600;color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:.1rem}.label-phase-strip .done{color:var(--ink-soft);opacity:.75}.label-phase-strip .upcoming{color:var(--ink-soft);opacity:.55}.labeling-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.65rem}.labeling-diagnostics{margin-bottom:.65rem;font-size:.85rem}.labeling-diagnostics>summary{cursor:pointer;color:var(--ink-soft);-webkit-user-select:none;user-select:none}.labeling-diagnostics .labeling-status{margin-top:.5rem;margin-bottom:0}.tx-header-pipeline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin:0 0 .75rem;padding:.5rem .65rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper-card)}.symbol-lab-canvas-wrap{position:relative;overflow:auto;border:1px solid var(--rule);background:var(--paper-2);margin-bottom:.75rem}.symbol-lab-canvas-wrap .canvas-fullscreen-btn{position:absolute;top:.4rem;right:.4rem;z-index:2;background:color-mix(in srgb,var(--paper-card) 92%,transparent);color:var(--ink);border:1px solid var(--rule);font-size:12px;padding:.25rem .55rem}.canvas-viewport{position:relative;width:100%;height:100%;overflow:hidden;background:#1c1917;touch-action:none}.canvas-viewport-inner{will-change:transform}.fullscreen-labeling{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;background:#0c0a09;color:#f5f5f4}.fullscreen-rail{flex:0 0 64px;width:64px;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.5rem .35rem;background:#1c1917;border-right:1px solid #292524;overflow-y:auto}.fullscreen-rail-tools,.fullscreen-rail-zoom{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.35rem;border-bottom:1px solid #292524}.rail-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #44403c;background:#292524;color:#e7e5e4;border-radius:4px;padding:.4rem .15rem;font-size:11px;line-height:1.1;cursor:pointer}.rail-btn:hover:not(:disabled){background:#3f3a36}.rail-btn:disabled{opacity:.4;cursor:default}.rail-btn.active{background:#0f766e;border-color:#14b8a6;color:#fff}.rail-btn.primary{background:#0d9488;border-color:#0f766e;color:#fff}.rail-btn.danger{color:#fecaca;border-color:#7f1d1d}.rail-class{display:flex;flex-direction:column;gap:.2rem;font-size:10px;color:#a8a29e}.rail-class select{width:100%;font-size:10px;padding:.15rem}.rail-check{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:10px;color:#a8a29e}.rail-meta{margin:0;font-size:9px;color:#a8a29e;text-align:center;word-break:break-word;line-height:1.2}.rail-edge-type{width:100%;font-size:9px;max-width:48px}.fullscreen-stage{flex:1;min-width:0;display:flex;flex-direction:column}.fullscreen-topbar{flex:0 0 auto;display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;background:#1c1917;border-bottom:1px solid #292524}.fullscreen-topbar .hint{color:#a8a29e;font-size:12px}.fullscreen-phase{text-transform:uppercase;letter-spacing:.04em;font-size:11px;color:#a8a29e;margin-right:auto}.fullscreen-viewport{flex:1;min-height:0}.proposal-review,.sweep-pass{background:var(--paper-card);color:var(--ink);border:1px solid var(--rule);border-radius:8px;padding:.75rem 1rem;margin-top:.5rem}.proposal-review p,.sweep-pass p{color:var(--ink);margin-top:0}.proposal-review strong,.sweep-pass strong{color:var(--ink)}.class-picker{position:relative;display:inline-block;vertical-align:middle}.class-picker-trigger{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper-input);color:var(--ink);cursor:pointer;font-size:13px;max-width:220px}.class-picker.compact .class-picker-trigger{max-width:56px;width:100%;flex-direction:column;padding:.25rem;font-size:10px}.class-picker.compact .class-picker-trigger-label{display:block;max-width:48px;font-size:9px;line-height:1.1;white-space:normal;text-align:center}.class-picker-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-picker-caret{opacity:.5;font-size:10px}.class-picker-panel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;min-width:260px;max-width:340px;max-height:360px;overflow:auto;background:var(--paper-card);color:var(--ink);border:1px solid var(--rule);border-radius:8px;box-shadow:0 8px 24px var(--shadow);padding:.5rem}.class-picker.compact .class-picker-panel{left:100%;top:0;margin-left:6px}.class-picker-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:12px;margin-bottom:.4rem;color:var(--ink-soft)}.class-picker-search{width:100%;box-sizing:border-box;margin-bottom:.4rem;padding:.3rem .45rem;border:1px solid var(--rule);border-radius:4px;font-size:13px;background:var(--paper-input);color:var(--ink)}.class-picker-categories,.class-picker-symbols,.class-picker-grid{display:flex;flex-direction:column;gap:.2rem}.class-picker-category,.class-picker-item{display:flex;align-items:center;gap:.45rem;text-align:left;padding:.35rem .45rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;font-size:13px}.class-picker-category:hover,.class-picker-item:hover{background:var(--paper-2)}.class-picker-item.active{background:color-mix(in srgb,var(--accent) 18%,var(--paper-card));border-color:color-mix(in srgb,var(--accent) 45%,var(--rule));color:var(--ink)}.class-picker-icon{display:inline-flex;width:1.5rem;justify-content:center;font-size:14px;flex:0 0 auto}.class-picker-item kbd{margin-left:auto;font-size:11px;opacity:.55}.class-picker-recents{margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}.near-box-class-list{position:fixed;z-index:2100;width:200px;max-height:260px;overflow:auto;background:var(--paper-card);border:1px solid var(--rule);border-radius:8px;box-shadow:0 10px 28px var(--shadow);color:var(--ink)}.near-box-class-list-title{padding:.4rem .55rem .25rem;font-size:11px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.near-box-class-list-items{list-style:none;margin:0;padding:.15rem 0 .35rem}.near-box-class-item{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;padding:.4rem .55rem;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:13px}.near-box-class-item:hover{background:var(--paper-2)}.near-box-class-item kbd{margin-left:auto;font-size:11px;opacity:.55}.proposal-review{display:grid;grid-template-columns:240px 1fr;gap:1rem}.proposal-actions{display:flex;gap:.5rem;margin-top:.5rem}.sweep-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.5rem 0 .75rem}.sweep-selected{font-size:13px;color:var(--ink-soft)}.labeling-status .btn{margin-left:auto}.proposal-meta .hint{font-size:12px;color:var(--ink-soft)}.dataset-training-main{padding:.75rem 1.25rem 2rem;max-width:1360px;margin:0 auto;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:.85rem}.dataset-banner{border-radius:8px;padding:.75rem 1rem;font-size:14px;display:flex;flex-direction:column;gap:.35rem}.dataset-banner strong{font-size:.95rem}.dataset-banner-warn{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.dataset-banner-info{background:#eff6ff;border:1px solid #93c5fd;color:#1e3a8a}.dataset-delta-list{margin:.25rem 0 0;padding-left:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .75rem}.dataset-delta-list li{display:flex;align-items:center;gap:.35rem}.dataset-summary-strip{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;padding:.65rem .75rem;background:color-mix(in srgb,var(--paper-card) 96%,transparent);color:var(--ink);border:1px solid var(--rule);border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dataset-stat-pill{display:flex;flex-direction:column;gap:.1rem;min-width:0}.dataset-stat-pill .label{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted, #5c564c)}.dataset-stat-pill .value{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dataset-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:.85rem;align-items:start}.dataset-col{display:flex;flex-direction:column;gap:.85rem;min-width:0}.dataset-card{background:var(--paper-card);color:var(--ink);border:1px solid var(--rule);border-radius:8px;padding:1rem 1.1rem}.dataset-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.dataset-card h2{margin:0 0 .75rem;font-size:1.05rem}.dataset-card-head h2{margin:0}.dataset-card h3{margin:1rem 0 .4rem;font-size:.95rem}.dataset-stats{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:14px}.dataset-stats dt{font-weight:600}.dataset-stats dd{margin:0}.dataset-table{width:100%;border-collapse:collapse;font-size:13px}.dataset-table th,.dataset-table td{border-bottom:1px solid var(--rule);text-align:left;padding:.25rem .4rem}.dataset-table tr.is-zero td{color:var(--ink-muted, #8a8378)}.dataset-table-scroll{max-height:420px;overflow:auto}.dataset-doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;max-height:none;overflow:visible}.dataset-doc-head{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline;font-size:13px}.dataset-page-links{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem;font-size:12px}.dataset-page-links li{display:flex;align-items:center;gap:.4rem}.dataset-page-links li.is-focused,.dataset-doc-list>li.is-focused{outline:2px solid #93c5fd;outline-offset:2px;border-radius:4px;background:#eff6ff}.dataset-warnings-panel{max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:.5rem}.dataset-warning-group-toggle{display:block;width:100%;text-align:left;border:none;background:#f3f0ea;padding:.35rem .5rem;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer}.dataset-warnings{margin:.25rem 0 .4rem;padding-left:1.1rem;font-size:12px}.dataset-warnings .linkish{border:none;background:none;padding:0;color:#1d4ed8;cursor:pointer;font:inherit;text-decoration:underline}.btn.tiny{padding:.1rem .35rem;font-size:11px}.ok-text{color:#15803d}.bad-text{color:#b91c1c}.dataset-log{margin-top:.75rem;max-height:220px;overflow:auto;font-size:12px;background:#f3f0ea;padding:.5rem}@media(max-width:960px){.dataset-dashboard-grid{grid-template-columns:1fr}.dataset-summary-strip{position:static}}.overlay-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:12px;margin:.4rem 0 .6rem}.overlay-legend .leg-gt{color:#15803d}.overlay-legend .leg-det{color:#0284c7}.overlay-legend .leg-prop{color:#7c3aed}.overlay-legend .leg-acc{color:#0d9488}.overlay-legend .leg-rej{color:#64748b}.relationship-toggles{display:flex;flex-wrap:wrap;gap:.75rem;font-size:13px;margin-bottom:.5rem}.relationship-card{margin-top:.5rem}.relationship-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.completion-suggestions{margin-top:.75rem;font-size:13px}.completion-suggestions ul{margin:.25rem 0 0;padding-left:1.2rem}.batch-review-card,.semantic-question-card{margin-top:.75rem;padding:.75rem;border:1px solid var(--rule);border-radius:8px;background:var(--paper-card);color:var(--ink)}.batch-edit-list{list-style:none;margin:.4rem 0;padding:0;max-height:160px;overflow:auto;font-size:13px}.rhythm-warnings{margin-top:.75rem;padding:.6rem .75rem;border:1px solid #fdba74;background:#fff7ed;border-radius:6px;font-size:13px;color:#9a3412}.rhythm-warnings ul{margin:.25rem 0 0;padding-left:1.2rem}.context-hint{font-size:12px;color:var(--ink-muted, #5c564c);margin:.25rem 0}.semantic-options{flex-wrap:wrap}.dev-lab-main{flex:1;padding:1rem 1.25rem 2rem;max-width:1100px;margin:0 auto;width:100%}.dev-lab-intro{margin-bottom:1.25rem}.dev-lab-pipeline-overview{margin:.5rem 0 1rem;padding-left:1.25rem;color:var(--ink-soft);font-size:.9rem;line-height:1.5}.dev-lab-pipeline-overview li{margin-bottom:.25rem}.dev-lab-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.dev-lab-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.dev-lab-thumb{display:block;background:#fff;border-bottom:1px solid var(--rule);max-height:140px;overflow:hidden}.dev-lab-thumb img{display:block;width:100%;height:140px;object-fit:contain;object-position:left top}.dev-lab-thumb-fallback{display:flex;align-items:center;justify-content:center;height:140px;color:var(--ink-soft);font-size:13px}.dev-lab-card-body{padding:.75rem 1rem 1rem}.dev-lab-card-body h3{margin:0 0 .35rem;font-size:.95rem;word-break:break-all}.dev-lab-badge{display:inline-block;font-size:11px;padding:.15rem .45rem;border-radius:4px;background:var(--paper-card);border:1px solid var(--rule);color:var(--ink-soft);margin-bottom:.5rem}.dev-lab-actions{flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.pipeline-stepper{display:flex;flex-direction:column;gap:.45rem;min-width:0}.pipeline-stepper-compact .pipeline-summary{font-size:.8rem;margin:0}.pipeline-steps{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}.pipeline-step{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--rule);border-radius:999px;padding:.15rem .55rem;font-size:.8rem;background:var(--paper-card);color:var(--ink-soft)}.pipeline-step-current{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--paper-card));color:var(--ink);font-weight:600}.pipeline-step-done{opacity:.72}.pipeline-step-upcoming{opacity:.5}.pipeline-step-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;font-size:.75rem;font-weight:600}.pipeline-step-label{white-space:nowrap}.pipeline-substeps{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0 0 0 .25rem;font-size:.78rem}.pipeline-substeps li{padding:.12rem .45rem;border:1px solid var(--rule);border-radius:4px;color:var(--ink-soft)}.pipeline-substeps li.current{border-color:#3498db;background:color-mix(in srgb,#3498db 12%,transparent);color:var(--ink)}.pipeline-substeps li.done{opacity:.65}.pipeline-summary{margin:0;font-size:.85rem;color:var(--ink-soft);line-height:1.35}.dev-lab-card-status{margin:.5rem 0}.dev-lab-card-actions-primary{margin-top:.5rem}@media(max-width:800px){.symbol-lab-layout,.proposal-review{grid-template-columns:1fr}}.omr-lab-legend{display:flex;flex-wrap:wrap;gap:.85rem;padding:.35rem 1rem;font-size:13px;border-bottom:1px solid var(--rule)}.omr-lab-legend span:before{content:"";display:inline-block;width:.85rem;height:.55rem;margin-right:.35rem;border:2px solid currentColor;vertical-align:middle}.legend-auto{color:#c62828}.legend-user{color:#6d28d9}.legend-gt{color:#0e7490}.legend-sel{color:#ca8a04}.omr-lab-uncalibrated{color:#9b1c1c;font-weight:600}.omr-lab-content{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:1rem;overflow:auto;min-height:0;flex:1}.omr-lab-content.omr-lab-classifier-workspace{grid-template-columns:minmax(0,2.4fr) minmax(260px,.95fr) minmax(220px,.85fr);align-items:start}.omr-lab-status-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;padding:.35rem 1rem;border-bottom:1px solid var(--rule);font-size:13px;color:var(--ink-muted, #5c564c);flex:0 0 auto}.omr-lab-status-strip [data-testid=advanced-diagnostics-toggle]{margin-left:auto}.omr-lab-page-actions{display:flex;flex-wrap:wrap;gap:.4rem;padding:.35rem 1rem;border-bottom:1px solid var(--rule);flex:0 0 auto}.omr-lab-diagnostics-panel{flex:0 0 auto;flex-shrink:0;align-self:stretch;max-height:min(50vh,480px);min-height:6rem;overflow:auto;border-bottom:1px solid var(--rule);padding:.65rem 1rem!important;gap:.5rem;align-content:flex-start}.omr-lab>.teaching-review-card,.omr-lab>[data-testid=classifier-improve-panel]{flex:0 0 auto;min-height:auto;max-height:min(40vh,360px);overflow:auto}.omr-lab-page-meta{flex:0 0 auto;flex-shrink:0}.omr-lab-preadapt-report{flex:0 0 auto;flex-shrink:0;margin:.5rem 1rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--rule);border-radius:8px;max-height:none;overflow:visible}.omr-lab-preadapt-report-title{margin:0 0 .5rem;font-size:1rem;font-weight:650}.omr-lab-preadapt-report pre{margin:0 0 .75rem;white-space:pre-wrap;font-size:13px;line-height:1.45}.omr-lab-comparison-ready{flex:0 0 auto;margin:.35rem 1rem;padding:.45rem .75rem .55rem;background:#fff;border:1px solid var(--rule);border-radius:8px}.omr-lab-comparison-ready-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin-bottom:.35rem;font-size:13px}.omr-lab-comparison-ready-title{font-weight:650;font-size:.95rem}.omr-lab-comparison-ready-compact{color:var(--ink-muted, #5c564c)}.omr-lab-comparison-ready-details{margin-top:.45rem;padding-top:.45rem;border-top:1px solid var(--rule)}.omr-lab-comparison-ready-details p{margin:0 0 .45rem;font-size:14px;line-height:1.4}.omr-lab-comparison-ready-details .omr-lab-calib-log{margin:0 0 .45rem;max-height:min(18vh,160px);overflow:auto}.omr-lab-comparison-ready-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.omr-lab-training-preview{margin-top:.35rem}.omr-lab-training-preview pre{margin:0 0 .65rem;white-space:pre-wrap;font-size:13px;max-height:min(28vh,240px);overflow:auto}.omr-lab-content.omr-lab-labeling-workspace{grid-template-columns:1fr;flex:1;min-height:0;padding:.5rem 1rem 1rem}.omr-lab-labeling-mode>.omr-lab-labeling{order:1}.omr-lab-labeling-mode>.omr-lab-status-strip{order:2}.omr-lab-labeling-mode>.omr-lab-page-actions{order:3}.omr-lab-labeling-mode>.omr-lab-content{order:4;flex:1 1 auto;min-height:min(55vh,640px)}.omr-lab-labeling-mode>.omr-lab-diagnostics-panel,.omr-lab-labeling-mode>.omr-lab-page-meta,.omr-lab-labeling-mode>[data-testid=scan-saved-receipt]{order:5}.omr-lab-labeling-mode>.omr-lab-tool-instruction,.omr-lab-labeling-mode>.omr-lab-legend,.omr-lab-labeling-mode>[data-testid=preadaptation-report-block],.omr-lab-labeling-mode>.omr-lab-status,.omr-lab-labeling-mode>.omr-lab-error,.omr-lab-labeling-mode>.omr-lab-gt-banner{order:6}.omr-lab-labeling-mode .omr-lab-content.omr-lab-labeling-workspace{display:flex;flex-direction:column}.omr-lab-labeling-mode .omr-lab-viewport{flex:1 1 auto;min-height:min(50vh,560px);max-height:none;width:100%}.omr-lab-labeling{padding:.4rem 1rem .35rem;border-bottom:1px solid var(--rule);flex:0 0 auto}.omr-lab-labeling-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin-bottom:.35rem;font-size:13px}.omr-lab-labeling-active,.omr-lab-labeling-counts-compact{color:var(--ink-muted, #5c564c)}.omr-lab-labeling-tools{padding:0;border-bottom:none}.omr-lab-labeling-receipt-compact{margin:.25rem 0 0;font-size:12px;color:var(--ink-muted, #5c564c)}.omr-lab-labeling-details{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--rule)}.classifier-side-panel{max-height:min(78vh,900px);overflow:auto;align-self:start;position:sticky;top:.5rem}.classifier-diagnostics{margin-top:.5rem;border-top:1px solid var(--rule);padding-top:.5rem}.classifier-diagnostics-list{max-height:220px;overflow:auto;font-size:12px;margin:.4rem 0;padding-left:1rem}.classifier-freeze-box{margin:.6rem 0;padding:.5rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.omr-lab-viewport{position:relative;border:1px solid var(--rule);background:#ece7de;overflow:auto;align-self:start}.omr-lab-stage{position:relative;width:100%;height:auto;line-height:0;background:#fff}.omr-lab-stage img,.omr-lab-stage .omr-lab-diag-canvas,.omr-lab-stage svg.overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.omr-lab-stage img,.omr-lab-stage .omr-lab-diag-canvas{object-fit:fill;image-rendering:pixelated;image-rendering:crisp-edges}.omr-lab-stage svg.overlay{z-index:1}.omr-lab-stage-unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;padding:1rem;background:#f3f0ea;color:#5c5346;font-size:14px}.omr-lab-primitive-toggles{display:flex;gap:.75rem;flex-wrap:wrap;font-size:13px;padding:0 .25rem .5rem}.omr-lab-calib-log{font-size:11px;white-space:pre-wrap;background:#f3f0ea;padding:.5rem}.results-panel{border:1px solid var(--rule);padding:1rem;overflow-y:auto;background:var(--paper-card, #fff)}.results-panel h3{margin:0 0 .6rem;font-size:.95rem}.results-panel dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 1rem}.results-panel dt{font-weight:600}.results-panel dd{margin:0}.omr-lab-teach-layout{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);align-items:start}@media(max-width:720px){.omr-lab-teach-layout{grid-template-columns:1fr}}.teaching-review-card{padding:.85rem 1rem;background:#fff;border-right:1px solid var(--rule, #c9c0b2)}.teaching-review-kicker{margin:0 0 .35rem;font-weight:700}.teaching-review-crop-wrap{position:relative;display:inline-block;max-width:100%}.teaching-review-crop-wrap canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border:1px solid #222}.teaching-review-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.teaching-review-filters{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 .6rem}.teaching-box-caption,.teaching-why p,.teaching-why{margin:.35rem 0 .6rem}.teaching-review-crop-wrap.magnify canvas{width:140%;max-width:none}.teaching-review-crop-wrap.magnify{overflow:auto}@media(max-width:720px){.omr-lab-teach-side{order:-1}.teaching-review-card{border-right:0;border-bottom:1px solid var(--rule, #c9c0b2)}}.teaching-bad-reasons{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0 .8rem}.teach-pulse{animation:teach-pulse .45s ease-out 1}@keyframes teach-pulse{0%{opacity:.2}40%{opacity:1}to{opacity:1}}.omr-lab-error{color:#9b1c1c}.omr-lab-empty{margin:2rem 1rem;padding:2rem 1.25rem;border:2px dashed var(--rule, #c9c0b2);border-radius:12px;text-align:center;background:#ffffff73}.omr-lab-empty p{margin:.35rem 0}.omr-lab-page-meta,.omr-lab-pages,.omr-lab-duplicate{padding:.75rem 1rem;border-bottom:1px solid var(--rule)}.omr-lab-page-meta p{margin:.2rem 0}.omr-lab-pages{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.source-doc-list{list-style:none;padding:0;margin:.75rem 0 0}.source-doc-list-row{margin-bottom:.4rem}.source-doc-rename{display:inline-flex;flex-wrap:wrap;gap:.35rem;align-items:center}.source-doc-rename input{min-width:7.5rem;max-width:16rem}.source-doc-rename.is-compact input{min-width:6rem;max-width:11rem}.page-id-readonly{font-family:ui-monospace,monospace;font-size:.85rem;opacity:.85}.tx-workspace{display:flex;flex-direction:column;gap:.75rem;height:100vh;padding:.75rem 1rem 1rem;overflow:auto;background:var(--paper);color:var(--ink)}.tx-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.tx-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.tx-panes{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-height:320px}.tx-pane{border:1px solid var(--rule);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;min-height:0;background:var(--paper-card);color:var(--ink)}.tx-pane h2{margin:0 0 .5rem;font-size:.95rem}.tx-canvas-viewport,.tx-verovio-pane{flex:1;min-height:240px;overflow:auto;background:var(--paper-2)}.tx-editor-grid{display:grid;grid-template-columns:280px 1fr;gap:.75rem}.tx-context-bar,.tx-event-editor{border:1px solid var(--rule);border-radius:8px;padding:.75rem;background:var(--paper-card);color:var(--ink)}.tx-context-grid,.tx-event-inspector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.tx-partial-flags{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.tx-event-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.tx-event-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.tx-event-row{width:100%;text-align:left;display:flex;gap:.5rem;padding:.35rem .5rem;border:0;background:transparent;color:var(--ink)}.tx-event-row.is-selected{background:color-mix(in srgb,var(--accent) 18%,var(--paper-card))}.tx-trainability ul{margin:.25rem 0 0;padding-left:1.1rem}.tx-muted{color:var(--ink-soft)}.tx-warn{color:var(--wilt)}.tx-ok{color:var(--leaf)}.tx-status{margin:0}.tx-zoom-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.tx-side-panel pre{max-height:180px;overflow:auto;white-space:pre-wrap}@media(max-width:900px){.tx-panes,.tx-editor-grid{grid-template-columns:1fr}}.app-shell-scan-editor .tx-workspace.staff-layout-page{width:100%;max-width:100%;height:auto;min-height:100dvh;max-height:none;overflow-x:hidden;overflow-y:auto}.staff-layout-view-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.staff-layout-view-tabs .btn.active{background:color-mix(in srgb,var(--leaf) 18%,var(--paper-card));border-color:var(--leaf)}.staff-layout-pane-title{margin:0 0 .35rem;font-size:.95rem}.staff-layout-page .staff-layout-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:.75rem;min-height:0;align-items:start;max-width:100%}.staff-layout-page .staff-layout-body .tx-pane{min-width:0;min-height:0}.staff-layout-source-pane .canvas-viewport-staff-layout{max-width:100%}.staff-layout-source-pane{overflow:hidden}.staff-layout-sidebar{border:1px solid var(--rule);border-radius:8px;padding:.75rem;background:var(--paper-card);overflow:auto}.staff-layout-sidebar ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.staff-layout-sidebar li.selected{background:color-mix(in srgb,var(--leaf) 12%,transparent);border-radius:4px}.tx-conflict-bar{display:flex;gap:.5rem;align-items:center}.crop-inspector{margin-top:0;padding:.75rem;border:1px solid var(--rule);border-radius:8px;background:var(--paper-card);max-width:100%;min-width:0}.crop-inspector-grid{display:flex;flex-direction:column;gap:1rem;max-width:100%}.crop-card{min-width:0;max-width:100%;overflow:hidden}.crop-card-preview{overflow:auto;max-width:100%;max-height:min(320px,55vh);background:#fff;border:1px solid var(--rule);border-radius:4px}.crop-card img{display:block;width:100%;height:auto;max-width:none}.crop-card dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .75rem;font-size:.85rem}.crop-card dt{color:var(--muted, #666)}.crop-card dd{margin:0;overflow-wrap:anywhere}.canvas-viewport-staff-layout{background:var(--paper-card)}.first-staff-recognition{margin-top:0;padding:.75rem;border:1px solid var(--rule);border-radius:8px;background:var(--paper-card);max-width:100%;min-width:0;overflow:hidden}.first-staff-recognition .symbol-eval-stage-wrap{max-height:min(60vh,520px)}.recognition-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:.75rem}.recognition-crop-stage{position:relative;margin:.5rem 0;background:#fff;border:1px solid var(--rule);overflow:hidden}.recognition-crop-stage img{display:block;width:100%;height:auto}.recognition-marker{position:absolute;width:12px;height:12px;margin-left:-6px;margin-top:-6px;border-radius:50%;border:2px solid #0a7;background:color-mix(in srgb,#0a7 35%,transparent);padding:0;cursor:pointer}.recognition-marker.hollow-notehead{background:#fff}.recognition-marker.barline{width:4px;height:70%;margin-left:-2px;margin-top:0;top:15%!important;border-radius:1px;background:#c40;border-color:#c40}.recognition-marker.selected{outline:2px solid #06c}.recognition-overlay ol,.recognition-draft ol{list-style:none;padding:0;margin:0}.recognition-adjust{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}@media(max-width:900px){.recognition-split{grid-template-columns:1fr}}.c05-symbol-eval,.symbol-eval-overlay{margin-top:.75rem;max-width:100%;min-width:0;overflow:hidden}.symbol-eval-box{border:2px solid;background:color-mix(in srgb,currentColor 12%,transparent);padding:0;cursor:pointer;box-sizing:border-box}.symbol-eval-box.selected{outline:2px solid #111;outline-offset:1px}.symbol-eval-meta{margin-top:.5rem;font-size:.85rem}.c05-metrics table{width:100%;border-collapse:collapse;font-size:.85rem}.c05-metrics th,.c05-metrics td{border:1px solid var(--rule);padding:.25rem .4rem;text-align:left}.c05-target-segment label{display:block;margin:.35rem 0}.c05-truth-editor ol{max-height:200px;overflow:auto}.c05-run-status{margin:.75rem 0;padding:.5rem .75rem;border:1px solid var(--rule);border-radius:6px;font-size:.9rem}.c05-run-status dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:.35rem 0 0}.c05-run-status .ok{color:#2ecc71}.c05-run-status .warn{color:#e67e22}.c05-workflow-steps{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.75rem 0;font-size:.85rem}.c05-workflow-steps li{padding:.25rem .5rem;border:1px solid var(--rule);border-radius:4px}.c05-workflow-steps li.current{border-color:#3498db;background:color-mix(in srgb,#3498db 12%,transparent)}.c05-workflow-steps li.done{opacity:.7}.c05-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.c05-edit-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.5rem 0;font-size:.85rem}.c05-edit-toolbar .btn.active{outline:2px solid #3498db}.symbol-eval-box.stale-ghost{pointer-events:auto}.symbol-eval-box.candidate{opacity:.85}.c05-truth-selection-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.c05-stale-toggle{display:block;margin-top:.35rem;font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exercise-composer{display:flex;flex-direction:column;gap:.65rem;padding-top:.85rem}.composer-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem}.composer-back{text-decoration:none!important;border:none;background:transparent;font-size:1.45rem;font-weight:800;line-height:1;padding:.35rem .45rem;color:var(--ink, #222);border-radius:999px}.composer-back:hover,.composer-back:focus-visible{text-decoration:none!important;background:color-mix(in srgb,var(--ink, #222) 6%,transparent)}a.composer-back{text-decoration:none!important}.composer-topbar-center{min-width:0}.composer-kicker{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.composer-title-input{width:100%;border:none;background:transparent;font:inherit;font-size:1.15rem;font-weight:600;padding:.1rem 0}.composer-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.composer-tab{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;cursor:pointer}.composer-tab.on{background:var(--accent);border-color:var(--accent);color:var(--btn-ink)}.composer-settings-strip{display:flex;flex-direction:column;gap:0;border:1px solid var(--rule, #ddd);border-radius:.55rem;background:color-mix(in srgb,var(--paper, #faf8f4) 92%,var(--ink, #222) 8%);overflow:visible}.composer-settings-row{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;min-width:0}.composer-settings-row-tempo{border-top:1px solid var(--rule, #ddd)}.composer-setting-seg{display:flex;flex-direction:column;gap:.15rem;padding:.4rem .55rem;min-width:0;flex:1 1 0;margin:0;position:relative}.composer-setting-tempo{overflow:hidden}.composer-setting-divider{width:1px;align-self:stretch;background:var(--rule, #ddd);flex:0 0 1px}.composer-setting-label{font-size:.68rem;color:var(--muted);white-space:nowrap}.composer-setting-trigger{border:none;background:transparent;padding:0;margin:0;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.composer-setting-menu{position:absolute;z-index:20;top:calc(100% + .2rem);left:.35rem;min-width:7.5rem;max-height:14rem;overflow:auto;border:1px solid var(--rule);border-radius:.45rem;background:var(--surface);color:var(--ink);box-shadow:none;padding:.25rem}.composer-setting-option{display:block;width:100%;border:none;background:transparent;text-align:left;padding:.35rem .45rem;border-radius:.3rem;font:inherit;font-size:.85rem;cursor:pointer}.composer-setting-option.on,.composer-setting-option:hover{background:color-mix(in srgb,var(--accent) 18%,var(--paper));color:var(--ink)}.composer-tempo-value{display:inline-flex;align-items:baseline;gap:.2rem;min-width:0;max-width:100%}.composer-tempo-value input{width:2.4rem;max-width:100%;min-width:0;border:none;background:transparent;font:inherit;font-weight:600;padding:0;box-sizing:border-box}.composer-tempo-value input::-webkit-outer-spin-button,.composer-tempo-value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.composer-tempo-value input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.composer-tempo-unit{font-size:.75rem;color:var(--muted);font-weight:600;flex:0 0 auto}.composer-clef-switch{display:flex;flex-wrap:wrap;gap:.25rem}.composer-measure-progress{font-size:.9rem;font-weight:600;margin:0}.composer-hint{margin:0}.paste-remap-dialog{margin-top:.65rem;padding:.75rem .85rem;border:1px solid var(--rule);border-radius:.55rem;background:color-mix(in srgb,var(--paper-card) 92%,var(--accent) 8%);display:flex;flex-direction:column;gap:.55rem}.paste-remap-title{margin:0;font-size:1rem}.paste-remap-lede{margin:0;font-size:.88rem}.paste-remap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.paste-remap-row{display:flex;align-items:center;gap:.45rem}.paste-remap-from{min-width:3.2rem;font-weight:600}.paste-remap-arrow{color:var(--ink-soft)}.paste-remap-input{flex:1;min-width:0;max-width:8rem;padding:.25rem .4rem;border:1px solid var(--rule);border-radius:.35rem;background:var(--paper-input);color:var(--ink)}.paste-remap-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.draft-note-editor-composer .draft-note-editor-scroll{position:relative}.draft-note-editor-scroll-track{display:inline-flex;flex-direction:row;align-items:center;min-width:min-content;vertical-align:top}.draft-note-editor-composer .draft-note-editor-scroll-track .staff-block{flex:0 0 auto;width:auto;align-items:flex-start}.draft-note-editor-composer .draft-note-editor-scroll-track .staff-note,.draft-note-editor-composer .draft-note-editor-scroll-track .staff-scroll-editor{width:auto}.draft-note-editor-composer .draft-note-editor-scroll-track .staff-note svg{width:auto;max-width:none}.composer-add-beat{position:relative;flex:0 0 auto;align-self:center;margin-left:.55rem;margin-right:.35rem;width:1.85rem;height:1.85rem;border-radius:999px;border:1.5px dashed var(--accent, #4a6670);background:color-mix(in srgb,var(--paper, #f3ede1) 88%,var(--accent, #4a6670) 12%);color:var(--accent, #4a6670);font-size:1.05rem;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;z-index:2}[data-theme=dark] .composer-add-beat,:root[data-theme=charcoal] .composer-add-beat{background:color-mix(in srgb,var(--paper, #1c1814) 86%,var(--accent, #4a6670) 14%)}.composer-note-panel{border:1px solid var(--rule, #ddd);border-radius:.55rem;padding:.75rem;background:color-mix(in srgb,var(--paper, #faf8f4) 96%,var(--ink, #222) 4%);display:flex;flex-direction:column;gap:.65rem}.composer-note-panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem}.composer-selected-eyebrow{font-size:.72rem;color:var(--muted);margin-bottom:.1rem}.composer-note-panel-actions{display:flex;flex-wrap:wrap;gap:.3rem}.composer-change-all{align-self:flex-start;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule, #ddd);border-radius:999px;background:transparent;color:var(--ink-soft, var(--muted));font-size:.8rem;font-weight:600;padding:.28rem .7rem;cursor:pointer}.composer-change-all.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.composer-change-all:hover{border-color:var(--accent);color:var(--accent)}.composer-icon-btn{width:2rem;height:2rem;border-radius:.4rem;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;font-size:.95rem;line-height:1}.composer-icon-btn:disabled{opacity:.45;cursor:not-allowed}.composer-panel-section{display:flex;flex-direction:column;gap:.35rem}.composer-panel-section-label{font-size:.72rem;color:var(--muted)}.composer-duration-row{display:flex;flex-wrap:wrap;gap:.35rem}.duration-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:.45rem;padding:.35rem .5rem;min-width:3.4rem;font-size:.78rem;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;gap:.1rem}.duration-chip-glyph{font-size:1rem;line-height:1.1}.duration-chip-label{font-size:.7rem}.duration-chip.on{background:color-mix(in srgb,var(--accent) 28%,var(--paper));border-color:var(--accent);color:var(--ink)}.duration-chip:disabled{opacity:.45;cursor:not-allowed}.composer-markings-row{display:flex;flex-wrap:wrap;gap:.35rem}.composer-note-panel select,.composer-settings-strip select{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:.4rem;padding:.3rem .45rem;box-shadow:none;outline:none;filter:none;accent-color:var(--accent)}.composer-note-panel select:focus,.composer-note-panel select:focus-visible,.composer-settings-strip select:focus,.composer-settings-strip select:focus-visible{border-color:var(--ink-soft, var(--rule));box-shadow:none;outline:none}.vexflow-bar-hit{position:absolute;top:0;border:none;padding:0;margin:0;background:transparent;cursor:pointer;z-index:2}.vexflow-bar-hit.on{background:color-mix(in srgb,var(--accent, #4a6670) 18%,transparent)}.composer-more-link{margin:0;font-size:.82rem}.composer-insert-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.35rem .55rem;border-top:1px solid var(--rule, #ddd);padding-top:.55rem}.composer-details summary{cursor:pointer;font-weight:600;margin-bottom:.35rem}.composer-practice-preview{display:flex;flex-direction:column;gap:.35rem}.composer-practice-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.composer-practice-preview-toolbar .muted{margin:0}.composer-preview-edit{flex-shrink:0}.composer-continue-btn{margin-left:auto}.continuation-panel{margin-top:.85rem;padding:.75rem .85rem;border:1px solid var(--rule, #d5d0c6);border-radius:6px;background:var(--paper, #faf8f4);color:var(--ink)}.continuation-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.continuation-panel-title{margin:0;font-size:1rem;font-weight:650;color:var(--ink)}.continuation-stale,.continuation-error{margin:0 0 .55rem}.continuation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.continuation-card{display:grid;gap:.45rem;padding:.55rem .65rem;border:1px solid var(--rule, #ddd);border-radius:4px;background:var(--surface, var(--paper-card, #fff));color:var(--ink)}.continuation-card-label{font-weight:650;color:var(--ink)}.continuation-card-explanation{margin:.15rem 0 0;font-size:.9rem}.continuation-preview{overflow-x:auto;max-width:100%}.continuation-preview .vex-staff,.continuation-preview .staff-scroll{min-height:0}.exercise-composer-modal .composer-topbar{margin-bottom:.25rem}.app-shell--journal{width:100%;max-width:440px;transition:max-width .18s ease}.journal-page .top h1{font-family:Georgia,Palatino Linotype,Palatino,Times New Roman,serif;font-size:clamp(1.75rem,4.5vw,2.2rem);letter-spacing:-.02em;font-weight:600}.journal-page .top{padding-bottom:.35rem}.top-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem 1rem}.top-title-row h1{margin:0}.journal-page{position:relative;min-width:0}.journal-page .main{position:relative;padding-left:1rem;padding-right:1rem}.journal-title-aside{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;width:100%}.journal-ornament{color:var(--journal-sage);flex:0 0 auto;opacity:.85;width:28px;height:28px}.journal-range{display:flex;flex-wrap:wrap;gap:.3rem;flex:1 1 auto}.journal-range__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);background:transparent;color:var(--ink-soft);border-radius:999px;padding:.28rem .65rem;font-size:.74rem;letter-spacing:.02em;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.journal-range__btn.is-selected{background:color-mix(in srgb,var(--journal-brass) 22%,var(--paper-card));border-color:color-mix(in srgb,var(--journal-brass) 55%,var(--rule));color:var(--ink)}.journal-layout{display:flex;flex-direction:column;gap:.35rem}.journal-main-col,.journal-side-col{min-width:0}.journal-chapter{margin:0 0 .15rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bark)}.journal-section-title{margin:0 0 .25rem;font-family:Georgia,Palatino Linotype,Palatino,Times New Roman,serif;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.journal-section-lede{margin:0 0 .75rem;font-size:.86rem}.journal-section-head{margin-bottom:.35rem}.journal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem .75rem;padding:.2rem 0 .75rem;border-bottom:1px solid var(--rule);margin-bottom:.75rem}.journal-stat__value{margin:0;font-size:clamp(1.45rem,5vw,2rem);line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.journal-stat__label{margin:.3rem 0 .1rem;font-size:.82rem;color:var(--ink)}.journal-stat__hint{margin:0;font-size:.68rem;line-height:1.25}.journal-chart{margin-top:.5rem}.journal-chart-frame{position:relative}.journal-chart-svg{width:100%;height:auto;display:block}.journal-chart-grid{stroke:var(--rule);stroke-width:1;opacity:.35}.journal-chart-baseline{stroke:var(--rule);stroke-width:1.25}.journal-chart-axis{fill:var(--ink-muted);font-size:9px}.journal-chart-bar{fill:var(--journal-sage);cursor:pointer;transition:fill .16s ease}.journal-chart-bar.is-selected{fill:var(--journal-brass)}.journal-chart-bar-empty{fill:color-mix(in srgb,var(--rule) 70%,transparent)}.journal-chart-tooltip{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin-top:.55rem;padding:.55rem .7rem;background:var(--paper-input);border:1px solid var(--rule);border-radius:10px;font-size:.88rem;animation:journal-panel-in .18s ease}.journal-chart-tooltip-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-soft);text-decoration:underline;cursor:pointer;font:inherit;margin-left:auto}.journal-chart-hint,.journal-empty{margin:.55rem 0 0;font-size:.88rem}.journal-atlas{margin-top:.85rem}.journal-metric-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .7rem}.journal-metric-tabs__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);background:var(--paper-input);color:var(--ink-soft);border-radius:999px;padding:.32rem .7rem;font-size:.76rem;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.journal-metric-tabs__btn.is-selected{background:color-mix(in srgb,var(--journal-lavender) 22%,var(--paper-card));border-color:color-mix(in srgb,var(--journal-lavender) 50%,var(--rule));color:var(--ink)}.journal-ring-legend{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin:0 0 .85rem;font-size:.72rem;color:var(--ink-soft)}.journal-ring-legend__item{display:inline-flex;align-items:center;gap:.35rem}.journal-ring-legend__item:before{content:"";width:14px;height:14px;border-radius:50%;box-sizing:border-box}.journal-ring-legend__item--consistent:before{border:2.5px solid var(--journal-sage)}.journal-ring-legend__item--attention:before{border:2.5px dashed var(--journal-brass)}.journal-ring-legend__item--insufficient:before{border:1.5px solid color-mix(in srgb,var(--ink-muted) 55%,var(--rule))}.journal-ring-legend__item--locked:before{border:1.5px dotted color-mix(in srgb,var(--ink-muted) 35%,var(--rule));background:color-mix(in srgb,var(--ink) 6%,transparent)}.journal-medallion-octaves{display:flex;flex-direction:column;gap:1rem}.journal-medallion-octave__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem;margin-bottom:.45rem}.journal-medallion-octave__head .journal-chapter{margin:0}.journal-octave-lock-hint{margin:0;font-size:.75rem}.journal-octave-locked-panel{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;border:1px dashed color-mix(in srgb,var(--rule) 85%,var(--ink-muted));border-radius:12px;background:color-mix(in srgb,var(--paper) 55%,var(--paper-card))}.journal-octave-locked-panel p{margin:0;font-size:.84rem;line-height:1.35}.journal-octave-locked-panel__glyph{color:var(--ink-muted);opacity:.55;font-size:1.1rem;line-height:1.2}.journal-medallion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;justify-items:center}.journal-medallion{position:relative;width:min(100%,72px);aspect-ratio:1;min-width:56px;min-height:56px;border:none;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.3rem;color:var(--ink);transition:transform .16s ease,opacity .16s ease}.journal-medallion__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;box-sizing:border-box}.journal-medallion--consistent .journal-medallion__ring{border:3px solid var(--journal-sage)}.journal-medallion--needs-attention .journal-medallion__ring{border:3px dashed var(--journal-brass)}.journal-medallion--insufficient .journal-medallion__ring{border:1.5px solid color-mix(in srgb,var(--ink-muted) 50%,var(--rule))}.journal-medallion--locked{cursor:default;opacity:.42}.journal-medallion--locked .journal-medallion__ring{border:1.5px dotted color-mix(in srgb,var(--ink-muted) 40%,var(--rule));background:color-mix(in srgb,var(--ink) 4%,transparent)}.journal-medallion--locked .journal-medallion__name{color:var(--ink-muted);font-size:1.1rem;font-weight:400}.journal-medallion.is-selected .journal-medallion__ring{box-shadow:0 0 0 2px var(--paper-card),0 0 0 4px var(--journal-lavender)}.journal-medallion__name{position:relative;font-size:.88rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.journal-medallion__caption{position:relative;font-size:.58rem;color:var(--ink-muted);line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .15rem}.journal-detail-panel{margin-top:1rem;padding:.85rem .95rem;border:1px solid var(--rule);border-radius:12px;background:var(--paper-input);outline:none;animation:journal-panel-in .2s ease}.journal-detail-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.journal-detail-panel__title{margin:.1rem 0 .35rem;font-size:1.45rem}.journal-detail-ring{margin:0;font-size:.82rem;color:var(--ink-soft)}.journal-detail-ring--consistent{color:var(--journal-sage)}.journal-detail-ring--needs-attention{color:var(--journal-brass)}.journal-detail-staff{margin:.35rem 0 .85rem;border-top:1px solid color-mix(in srgb,var(--rule) 80%,transparent);border-bottom:1px solid color-mix(in srgb,var(--rule) 80%,transparent);padding:.35rem 0}.journal-detail-metrics{display:grid;gap:.75rem}.journal-detail-metric__label{margin:0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.journal-detail-metric__value{margin:.15rem 0;font-size:1.35rem;font-variant-numeric:tabular-nums}.journal-detail-metric__meta,.journal-detail-metric__def{margin:.1rem 0 0;font-size:.78rem}.journal-detail-spark{margin-top:.85rem}.journal-spark{width:100%;max-width:320px;height:auto;display:block}.journal-detail-links{margin-top:.85rem}.journal-detail-links ul{margin:.25rem 0 .45rem;padding-left:1.1rem}.journal-connections .journal-connection-line{font-size:.9rem;margin:.35rem 0}.journal-field-notes{margin-top:.5rem}.journal-field-compose{margin-bottom:.85rem}.journal-field-compose__label{display:block;font-size:.82rem;margin-bottom:.35rem;color:var(--ink-soft)}.journal-field-compose__actions{display:flex;align-items:center;gap:.65rem;margin-top:.55rem}.journal-saved-flash{font-size:.85rem;color:var(--journal-sage);animation:journal-panel-in .16s ease}.journal-entry-list{list-style:none;margin:0;padding:0}.journal-entry{position:relative;padding:.7rem .85rem .75rem 1rem;margin:0 0 .65rem;background:var(--paper-card);border:1px solid var(--rule);border-left:3px solid color-mix(in srgb,var(--journal-brass) 55%,var(--rule));border-radius:2px 10px 10px 2px;box-shadow:0 1px color-mix(in srgb,var(--ink) 5%,transparent)}.journal-entry__date{display:block;font-size:.75rem;color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-bottom:.25rem}.journal-entry__text{margin:0;white-space:pre-wrap}@keyframes journal-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-shell--journal,.journal-range__btn,.journal-metric-tabs__btn,.journal-chart-bar,.journal-medallion,.journal-detail-panel,.journal-chart-tooltip,.journal-saved-flash{transition:none;animation:none}}@media(max-width:420px){.journal-stats{grid-template-columns:1fr;gap:.75rem}.journal-medallion{min-width:52px;min-height:52px}.journal-metric-tabs__btn{flex:1 1 auto;text-align:center}}@media(min-width:640px){.app-shell--journal{max-width:min(100%,760px)}.journal-page .main{padding-left:1.25rem;padding-right:1.25rem}.journal-title-aside{width:auto}.journal-ornament{width:32px;height:32px}.journal-medallion-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.journal-medallion{width:min(100%,72px);min-width:64px;min-height:64px}.journal-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.journal-section-title{font-size:1.2rem}}@media(min-width:900px){.app-shell--journal{max-width:min(100%,1040px)}.journal-page .main{padding-left:1.5rem;padding-right:1.5rem}.journal-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(16rem,1fr);gap:1.25rem 1.5rem;align-items:start}.journal-side-col{position:sticky;top:.5rem}.journal-stats{gap:1rem 1.25rem}}@media(min-width:1100px){.app-shell--journal{max-width:min(100%,1120px)}}
