.ng{font-size:15px;line-height:1.6;color:var(--ink)}.ng p{margin:0 0 12px;max-width:62ch}.ng a{color:var(--accent)}.ng p a,.ng-list a{text-decoration:underline;text-underline-offset:2px}.ng-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ng-prog__bar,.ng-prog__row{display:none}.ng-stepper .ng-prog__row{display:flex}.ng-stepper .ng-prog__bar{display:block}.ng-js.ng-stepper .ng-prog{position:sticky;top:0;z-index:2;margin:0-20px 6px;padding:8px 20px 10px;background:var(--surface);border-bottom:1px solid var(--line-soft)}.ng-prog__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 6px;font:600 13px/1.3 var(--font-ui);color:var(--muted)}.ng-prog__title{color:var(--ink);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ng-prog__bar{height:4px;border-radius:2px;background:var(--track);overflow:hidden}.ng-prog__fill{display:block;height:100%;width:0;background:var(--accent);border-radius:2px}.ng-intro{margin:8px 0 14px}.ng-g{display:inline-flex;flex:0 0 auto;align-items:flex-start}.ng-staff--nolyr .ng-ly,.ng-stepper .ng-step[hidden]{display:none}.ng-staff--nolyr .ng-dig{height:2.45em}.ng-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px;font-size:13px;color:var(--muted)}.ng-slow{display:inline-flex;align-items:center;gap:8px;min-height:36px;cursor:pointer;font:500 14px/1.2 var(--font-ui);color:var(--ink)}.ng-slow input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.ng-toc{margin:0 0 16px;border:1px solid var(--line);border-radius:var(--r-md, 12px);background:var(--bg)}.ng-toc>summary{cursor:pointer;padding:10px 14px;font:600 14px/1.3 var(--font-ui);min-height:24px}.ng-toc ol{margin:0;padding:0 14px 10px 36px;columns:1}.ng-toc li{padding:3px 0}.ng-toc a{text-decoration:none}.ng-toc a:focus-visible,.ng-toc a:hover{text-decoration:underline}.ng-toc [aria-current=step]{font-weight:700;color:var(--ink)}.ng-step{margin:0 0 8px}.ng-step__head{display:flex;align-items:center;gap:12px;margin:6px 0 12px}.ng-step__n{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--on-accent);font:700 16px/1 var(--font-ui)}.ng-step__h{margin:0;font:700 19px/1.25 var(--font-heading, var(--font-ui));color:var(--ink)}.ng-step__h:focus{outline:0}.ng-step__h:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.ng-sub{margin:18px 0 8px;font:600 15px/1.3 var(--font-ui);color:var(--ink)}.ng-tip{margin:14px 0 6px;padding:10px 14px;border-left:4px solid var(--gold, var(--accent));border-radius:0 var(--r-sm, 8px) var(--r-sm, 8px)0;background:var(--gold-tint, var(--accent-soft));color:var(--ink)}.ng-tip p:last-child{margin-bottom:0}.ng-list{margin:0 0 12px;padding-left:22px;max-width:62ch}.ng-list li{margin:0 0 8px;padding-left:4px}.ng-quiz-done{margin:12px 0 0;padding:10px 14px;border-radius:var(--r-sm, 8px);background:var(--accent-soft);font-weight:600}.ng-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}.ng--page{font-size:16px}.ng--page .ng-step{margin:0 0 28px;padding-top:22px;border-top:1px solid var(--line)}.ng--page .ng-step__h{font-size:22px}.ng--page .ng-step{scroll-margin-top:calc(var(--hn-header-h, 64px) + 16px)}.ng--page .ng-toc--narrow ol{columns:1}.ng-aside{gap:0}.ng-aside__h{margin:0 0 8px;font:600 15px/1.3 var(--font-ui);color:var(--ink)}.ng-aside__list{margin:0;padding:0;list-style:none;max-height:calc(100vh - var(--hn-header-h, 64px) - 96px);overflow-y:auto;border-left:1px solid var(--line)}.ng-aside__list a{display:block;padding:6px 0 6px 12px;margin-left:-1px;border-left:2px solid transparent;font:500 14px/1.35 var(--font-ui);color:var(--muted);text-decoration:none}.ng-aside__list a:hover{color:var(--ink)}.ng-aside__list a[aria-current=step]{color:var(--ink);font-weight:700;border-left-color:var(--accent)}@media (min-width:992px){.ng--page .ng-toc--narrow{display:none}}.ng-ex{margin:12px 0 18px}.ng-paper{container-type:inline-size;box-sizing:border-box;padding:12px 12px 10px;border:1px solid var(--line);border-radius:var(--r-md, 12px);background:var(--bg);color:var(--ink);overflow-x:auto}.ng-keylabel{margin:0 0 2px;font:500 .8rem/1.2 var(--font-serif);color:var(--ink)}.ng-staff{--ng-beat:clamp(1.7rem, 9.4cqw, 3.1rem);display:flex;flex-wrap:wrap;align-items:flex-start;row-gap:.5rem;font-size:1.2rem;line-height:1}.ng-end,.ng-m{display:inline-flex;align-items:flex-start}.ng-m{flex-wrap:nowrap}.ng-staff--free .ng-m{flex-wrap:wrap}.ng-end{padding-top:.7em;margin-top:.15em;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor}.ng-end::before{content:attr(data-label);position:absolute;left:.35em;top:.05em;font:600 .62em/1 var(--font-ui)}.ng-c,.ng-dig,.ng-end{position:relative}.ng-c{display:inline-flex;flex-direction:column;align-items:flex-start;flex:0 0 auto;box-sizing:border-box;width:calc(var(--d)*var(--ng-beat));min-width:min-content;padding:0 .22em;border-radius:8px;color:var(--ink);font:inherit;text-align:left}button.ng-c{min-width:24px;margin:0;border:0;background:0 0;cursor:pointer;-webkit-tap-highlight-color:transparent}.ng-dig{display:block;height:2.55em;padding-top:.8em;font:700 1em/1 var(--font-ui);font-variant-numeric:lining-nums}.ng-ly{display:block;min-height:1.4em;margin-top:.1em;font:400 .78em/1.4 var(--font-serif);white-space:nowrap;color:var(--ink)}.ng-hy{display:inline-block;width:.55em;margin-left:.25em;border-top:1px solid currentColor;vertical-align:.32em}.ng-rest .ng-dig{font-weight:600}.ng-od{position:absolute;left:calc(.3em - .1em);width:.2em;height:.2em;border-radius:50%;background:currentColor}.ng-od--up{top:.46em}.ng-od--up.ng-od--two{box-shadow:0-.3em 0 currentColor;top:.5em}.ng-od--dn{top:1.86em}.ng-ul1 .ng-od--dn{top:2.2em}.ng-ul2 .ng-od--dn{top:2.4em}.ng-od--dn.ng-od--two{box-shadow:0 .3em 0 currentColor}.ng-aug{position:absolute;left:.78em;top:1.28em;width:.2em;height:.2em;border-radius:50%;background:currentColor}.ng-ul1::after,.ng-ul2::after{content:"";position:absolute;left:var(--bl, .22em);right:var(--br, .22em);top:1.9em;border-top:2px solid currentColor}.ng-ul2::after{box-shadow:0 .22em 0 0 currentColor}.ng-bp{--bl:0px}.ng-bn{--br:0px}.ng-sl::before{content:"";position:absolute;top:.1em;left:0;right:0;height:.42em;border-top:1.5px solid currentColor}.ng-sl-s::before{left:.58em;border-left:1.5px solid currentColor;border-top-left-radius:.5em}.ng-sl-e::before{left:0;right:auto;width:.58em;border-right:1.5px solid currentColor;border-top-right-radius:.5em}.ng-sl-s.ng-sl-e::before{right:.3em;width:auto}.ng-bar{position:relative;flex:0 0 auto;align-self:flex-start;width:calc(2px + .62em);height:2.55em;color:var(--ink)}.ng-bar::after{content:"";position:absolute;left:50%;top:.72em;height:1.3em;border-left:2px solid currentColor}.ng-bar--final::after{left:28%;box-shadow:.3em 0 0 1px currentColor}.ng-bar--rep,.ng-bar--rs{width:1.5em;background-image:radial-gradient(circle,currentColor 1.6px,transparent 2.2px),radial-gradient(circle,currentColor 1.6px,transparent 2.2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}.ng-bar--rep::after{left:auto;right:.35em;box-shadow:.26em 0 0 1px currentColor}.ng-bar--rs::after{left:.35em;box-shadow:.26em 0 0-1px currentColor;border-left-width:3px}.ng-bar--rep{background-position:.1em 1.05em,.1em 1.45em}.ng-bar--rs{background-position:calc(100% - .1em) 1.05em,calc(100% - .1em) 1.45em}.ng-bar.ng-sl::before{left:0;right:0}.ng-ts{align-self:flex-start;display:flex;flex-direction:column;margin:.85em .4em 0 .1em;font:700 .85em/.9 var(--font-serif);text-align:center}.ng-ts b{display:block;font-weight:700}.ng-g.is-now{border-radius:8px;background:var(--hn-now-bg, var(--accent-soft));box-shadow:0 0 0 2px var(--hn-now-edge, var(--accent))}.ng-g.is-now .ng-c{color:var(--accent)}.ng-g.is-now .ng-ly{color:var(--ink)}.ng-tap:hover{background:var(--accent-soft)}.ng-opt:focus-visible,.ng-slow input:focus-visible,.ng-tap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ng-opt.is-right,.ng-tap.is-right{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent);color:var(--accent)}.ng-opt.is-wrong,.ng-tap.is-wrong{background:var(--gold-tint, var(--track));box-shadow:0 0 0 2px var(--gold, var(--line))}.ng-ex--tap .ng-paper{padding-top:14px}.ng-cap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 0}.ng-cap__t{flex:1 1 14rem;min-width:0;font-size:14px;line-height:1.45;color:var(--muted)}.ng-play{gap:6px;min-height:40px}.ng-play.is-playing .ng-play__ic,.ng-play.is-playing .ng-play__t,.ng-stop__ic,.ng-stop__t{display:none}.ng-play.is-playing .ng-stop__t{display:inline}.ng-play.is-playing .ng-stop__ic{display:inline-block}.ng-q{margin:0 0 20px;padding:0;border:0;min-width:0}.ng-q__p{margin:0 0 6px;padding:0;font:600 16px/1.4 var(--font-ui)}.ng-opts{display:grid;gap:8px;margin:8px 0 0;max-width:28rem}.ng-opt{box-sizing:border-box;width:100%;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r, 10px);background:var(--surface);color:var(--ink);font:500 15px/1.35 var(--font-ui);text-align:left;cursor:pointer}.ng-opt:hover{background:var(--accent-soft)}.ng-fb{margin:8px 0 0;padding:8px 12px;border-radius:var(--r-sm, 8px);font-size:14px;line-height:1.5;max-width:62ch}.ng-fb:empty{display:none}.ng-fb.is-right{background:var(--accent-soft);color:var(--ink)}.ng-fb.is-wrong{background:var(--gold-tint, var(--track));color:var(--ink)}#numbered-notation-info-modal .hn-dialog__form{height:min(88dvh,760px);max-height:none}#numbered-notation-info-modal .hn-dialog__body{flex:1 1 auto;min-height:0}#numbered-notation-info-modal .hn-dialog__foot{justify-content:space-between;flex-wrap:nowrap}#numbered-notation-info-modal .hn-dialog__foot .hn-btn{flex:1 1 0;min-width:0}#numbered-notation-info-modal .hn-dialog__foot [hidden]{display:none}@media (min-width:560px){#numbered-notation-info-modal{max-width:640px;width:calc(100% - 48px)}#numbered-notation-info-modal .hn-dialog__form{height:min(84vh,760px)}#numbered-notation-info-modal .hn-dialog__foot .hn-btn{flex:0 0 auto;min-width:120px}}.ng-openpage{margin:4px 0 0;font-size:13px}.ng:not(.ng-js) .ng-play,.ng:not(.ng-js) .ng-slow{display:none}@media (prefers-reduced-motion:reduce){.ng *,.ng ::after,.ng ::before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media (hover:none){.ng-opt:hover,.ng-tap:hover{background:0 0}}@media print{.ng-play,.ng-prog,.ng-tools{display:none!important}}.ng-stepper .ng-tools{justify-content:space-between;margin:4px 0 0}.ng-stepper .ng-toc{position:relative;margin:0;border:0;background:0 0}.ng-stepper .ng-toc>summary{padding:6px 4px}.ng-stepper .ng-toc ol{position:absolute;z-index:3;right:0;top:100%;box-sizing:border-box;width:min(22rem,calc(100vw - 40px));max-height:46vh;overflow-y:auto;margin:4px 0 0;padding:8px 14px 8px 36px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop)}.ng--page .ng-tools{display:block;margin:0 0 18px}.ng--page .ng-slow{margin:0 0 10px}