@font-face{font-family:Fraunces;src:url(/fraunces.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#373b31;background:#f7f2e8;font-synthesis:none;--paper: #f7f2e8;--ink: #373b31;--muted: #727366;--line: #dfd9cb;--wine: #753c3c;--gold: #edc982;--sage: #70816a;accent-color:var(--wine)}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button,a{color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #9b6343;outline-offset:4px}button{touch-action:manipulation}::selection{background:#e4c997;color:#392c25}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#c4b8a5;border:3px solid var(--paper);border-radius:8px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.site-header,main,footer{max-width:1180px;margin:0 auto}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:Fraunces,Georgia,serif;font-size:27px;font-weight:600;letter-spacing:-.8px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:40px;color:var(--wine)}.brand-mark .icon{height:33px;width:33px}.brand-dot{margin-left:-10px;color:var(--wine)}.header-actions{display:flex;gap:32px;align-items:center}.made-for{font-size:12px;color:var(--muted)}.quiet-button{display:flex;align-items:center;gap:8px;border:0;background:transparent;min-height:44px;font-size:12px;font-weight:600;padding:8px 0}.quiet-button .icon{width:18px;height:18px}.quiet-button:hover{color:var(--wine)}.intro{display:flex;align-items:center;justify-content:space-between;padding:39px 0 31px}h1,h2,p{margin:0}h1{font-family:Fraunces,Georgia,serif;font-size:clamp(36px,4.2vw,55px);font-weight:450;line-height:1.15;letter-spacing:-1.7px}h1 em{font-weight:450;color:var(--wine)}.intro p{font-size:14px;color:#717365;margin-top:12px;line-height:1.5}.intro-note{display:flex;align-items:center;gap:14px;color:#777668;font-size:12px;line-height:1.6;padding-right:6px;transform:rotate(-3deg)}.intro-note .icon{width:38px;height:38px;color:#967b52}.theatre{overflow:hidden;border-radius:14px;background:#251d18;box-shadow:0 14px 35px -20px #4b302e66}.stage{position:relative;aspect-ratio:2.2;isolation:isolate;overflow:hidden;background:#2b1d15}.stage-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center 67%;-webkit-user-select:none;user-select:none;pointer-events:none}.stage-top{position:absolute;top:20px;left:24px;right:22px;display:flex;justify-content:space-between;align-items:center}.stage-status{display:flex;align-items:center;gap:8px;background:#201a17dc;border:1px solid #baa37c3b;padding:8px 12px;border-radius:30px;color:#e8ddc6;font-size:10px;letter-spacing:.3px}.status-dot{background:#b69b6a;width:5px;height:5px;border-radius:50%}.is-playing .status-dot{background:#b5c39a}.stage-sound{width:44px;height:44px;background:#201a17dc;border:1px solid #baa37c3b;border-radius:50%;color:#e8ddc6;display:grid;place-items:center}.stage-sound:hover{background:#65503f}.stage-sound .icon{width:19px;height:19px}.stage-invitation{position:absolute;top:42px;left:10px;right:10px;text-align:center;color:#efdfb9;display:flex;align-items:center;flex-direction:column;gap:9px;pointer-events:none;transition:opacity .3s}.stage-invitation>span:first-child{font:450 23px Fraunces,Georgia,serif}.stage-invitation small{color:#ceb48f;font-size:10px;letter-spacing:1px}.invitation-line{height:22px;width:1px;background:#c4a66d66}.stage-invitation.quiet{opacity:0}.players{position:absolute;inset:22% 1.5% 0;display:grid;grid-template-columns:repeat(6,1fr)}.player{position:relative;background:none;border:0;min-width:0;border-radius:50% 50% 0 0;padding:0;color:#f5e9d2;transition:background .2s}.player:before{content:"";position:absolute;inset:14% 4% 15%;border-radius:40%;opacity:0;box-shadow:0 18px 42px -13px #eac67875;transition:opacity .2s}.player:hover:before,.player.is-selected:before{opacity:1}.player:focus-visible{outline:2px solid var(--gold);outline-offset:-7px}.player-label{isolation:isolate;position:absolute;bottom:16px;left:3px;right:3px;font:500 17px Fraunces,Georgia,serif;text-shadow:0 2px 8px #000;display:block;padding-top:6px}.player-label small{display:block;margin-top:5px;font:9px ui-sans-serif,system-ui,sans-serif;letter-spacing:.5px;color:#e4d1b2}.player-label:before{content:"";position:absolute;inset:-3px 16% -7px;background:#201710aa;z-index:-1;border-radius:7px}.player.is-selected .player-label{color:var(--gold)}.player.is-muted{background:#1d171666}.player.is-muted .player-label{color:#d9c9b0}.player.is-muted .player-label small:after{content:" · muted"}.player.is-solo .player-label small:after{content:" · solo";color:#f3d08c}.player-light{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--player-color);bottom:6px;left:calc(50% - 2.5px);opacity:0}.is-playing .player:not(.is-muted) .player-light,.is-selected .player-light{opacity:1}.transport{min-height:89px;display:flex;align-items:center;gap:20px;padding:18px 25px;background:#2a211c;color:#eddfc9}.play-button{display:flex;justify-content:center;align-items:center;gap:9px;background:var(--gold);border:0;border-radius:7px;min-height:48px;min-width:131px;padding:12px 19px;font-size:13px;font-weight:650;color:#3f3023;transition:background .2s,transform .2s}.play-button:hover{background:#f6d99f;transform:translateY(-1px)}.play-button .icon{width:18px;height:18px}.now-playing{display:flex;flex-direction:column;gap:5px}.now-playing strong{font:450 18px Fraunces,Georgia,serif}.now-playing>span{font-size:10px;color:#bcae9b}.beat-display{display:flex;align-items:center;gap:12px;margin-left:auto}.beat-dot{display:grid;place-items:center;width:27px;height:27px;border:1px solid #6b5845;border-radius:50%;font-size:10px;color:#b7a58b;transition:background .12s,color .12s}.beat-dot.active{background:var(--gold);color:#3f3023;border-color:var(--gold)}.icon-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:0;background:none;border-radius:7px}.icon-button:hover{background:#a3988120}.icon-button .icon{height:19px;width:19px}.restart{color:#c2ae93;margin-left:3px}.restart .icon{height:18px;width:18px}.notice{font-size:13px;line-height:1.6;background:#eadcc6;padding:14px 18px;border-radius:8px;margin-top:16px}.conductor-desk{display:grid;grid-template-columns:1.4fr 1fr .9fr;gap:0;margin-top:30px;padding-bottom:31px;border-bottom:1px solid var(--line)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.panel-heading h2{font-size:13px;font-weight:600}.panel-heading>span{font-size:10px;color:var(--muted)}.panel-heading>.icon{height:17px;width:17px;color:#8f805b}.keyboard-hint{display:flex;align-items:center;gap:5px}kbd{font:10px inherit;background:#ece6da;border:1px solid #d9d0c1;border-radius:4px;padding:2px 5px}.baton-panel{padding-right:30px}.baton-pad{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;overflow:hidden;width:100%;height:148px;border:1px dashed #c3b7a1;border-radius:9px;background:#f0e9db;touch-action:none;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s}.baton-pad:hover{background:#ece2d0;border-color:#a9906f}.baton-drawing .icon{height:35px;width:35px;color:#8f7359}.baton-title{font-size:12px;font-weight:600}.baton-subtitle{font-size:10px;color:#777366}.baton-trace{position:absolute;inset:0;height:100%;width:100%;pointer-events:none}.baton-trace path{fill:none;stroke:#aa794a;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.tapped{background:#e7dac0;border-color:#a9804c}.tap-ripple{position:absolute;width:70px;height:70px;border:1px solid #a77c4a;border-radius:50%;opacity:0;pointer-events:none}.tapped .tap-ripple{animation:ripple .45s cubic-bezier(.16,1,.3,1) both}@keyframes ripple{0%{transform:scale(.5);opacity:.6}to{transform:scale(2.6);opacity:0}}.tempo-panel{padding:0 30px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.tempo-readout{display:flex;align-items:center;justify-content:space-between;padding-top:2px}.tempo-readout>div{display:flex;align-items:baseline;gap:8px}.tempo-readout strong{font:450 48px Fraunces,Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-2px;line-height:1.4}.tempo-readout>div>span{font-size:10px;color:var(--muted)}.round-button{height:38px;width:38px;min-height:44px;min-width:44px;background:none;border:0;border-radius:50%;font-size:22px;color:#72654e}.round-button:hover{background:#e8e0d1}input[type=range]{height:44px;cursor:pointer;margin:6px 0;width:100%;accent-color:#8f7753}.tempo-scale{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.score-panel{padding-left:30px}.score-value{display:flex;align-items:baseline;gap:7px;height:70px}.score-value>strong{font:450 48px Fraunces,Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-1.6px}.score-value>span{font-size:11px;color:#8b8777}.score-bars{display:flex;align-items:end;gap:3px;margin-left:auto;align-self:center;height:28px}.score-bars i{display:block;width:5px;background:#dfd7c7;border-radius:2px;height:40%}.score-bars i:nth-child(2){height:55%}.score-bars i:nth-child(3){height:70%}.score-bars i:nth-child(4){height:85%}.score-bars i:nth-child(5){height:100%}.score-bars i.filled{background:#819070}.score-panel p{font-size:11px;line-height:1.7;min-height:37px;max-width:220px;color:#727366;margin-top:6px}.personal-best{font-size:10px;color:#777366;display:flex;gap:9px;margin-top:10px}.personal-best strong{font-weight:600;color:#58664d}.section-editor{display:flex;align-items:center;gap:16px;margin-top:14px;padding:15px 20px;background:#eee6d8;border-radius:10px}.section-name{display:flex;align-items:center;gap:10px;min-width:200px}.section-name>div{display:flex;flex-direction:column;gap:4px}.section-name strong{font-size:12px}.section-name small{font-size:10px;color:#6f6c5e}.section-swatch{height:28px;width:8px;border-radius:5px}.section-volume{font-size:10px;display:flex;align-items:center;gap:10px;flex:1}.section-volume input{min-width:60px}.toggle-button{height:44px;min-width:65px;background:#faf6ec;border:1px solid #d7ccba;border-radius:7px;display:flex;gap:6px;align-items:center;justify-content:center;font-size:11px;padding:0 12px}.toggle-button .icon{height:16px;width:16px}.toggle-button[aria-pressed=true]{background:#753c3c;color:#fff3df;border-color:#753c3c}.repertoire{padding:30px 0 38px}.repertoire-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.repertoire h2{font:450 25px Fraunces,Georgia,serif;letter-spacing:-.5px}.repertoire-heading p{font-size:11px;color:var(--muted);margin-top:7px}.arrangement-note{font-size:10px;color:var(--muted)}.piece-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.piece{display:flex;align-items:center;gap:12px;min-width:0;min-height:86px;border:1px solid #ded6c8;border-radius:9px;background:transparent;text-align:left;padding:12px;transition:background .2s,border-color .2s}.piece:hover{background:#eee6d7;border-color:#b5a990}.piece.selected{background:#ede9dc;border-color:#929b80}.piece-art{position:relative;flex-shrink:0;display:grid;place-items:center;width:44px;height:52px;border-radius:4px;overflow:hidden;background:#c1c4a6;color:#4e6248}.piece-art .icon{width:25px;height:25px;position:relative;z-index:1;transform:rotate(-12deg)}.piece-art:before,.piece-art:after{content:"";position:absolute;width:65px;height:65px;border:1px solid currentColor;border-radius:50%;opacity:.25;left:-40px;top:3px}.piece-art:after{left:-30px}.art-1{background:#d6c0b5;color:#8c5550}.art-2{background:#e2cb8e;color:#8c7242}.art-3{background:#b9c6c3;color:#577675}.piece-info{display:flex;flex-direction:column;min-width:0;gap:7px}.piece-info strong{font-size:11px;font-weight:600;line-height:1.45}.piece-info small{font-size:9px;color:#747064}.piece-check{display:flex;margin-left:auto;flex-shrink:0}.piece-check .icon{height:15px;width:15px;color:#788569}footer{display:flex;justify-content:space-between;align-items:center;padding:22px 0 30px;border-top:1px solid var(--line);gap:16px;font-size:10px;color:#78796b}.footer-brand{display:flex;gap:8px;align-items:center}.footer-brand .icon{height:16px;width:16px;color:#837c61}footer button{background:transparent;border:0;padding:10px 0;display:flex;align-items:center;gap:6px;font-size:10px;color:#6e6e60;min-height:44px}footer button .icon{height:13px;width:13px}dialog{width:540px;max-width:calc(100% - 32px);max-height:calc(100% - 40px);padding:30px;border:0;background:var(--paper);color:var(--ink);border-radius:16px;box-shadow:0 25px 100px #19130d55}dialog::backdrop{background:#211a14aa}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}dialog h2{font:450 33px Fraunces,Georgia,serif;letter-spacing:-.7px}.help-lead{font-size:13px;color:#777366;margin-top:10px}.help-steps{list-style:none;padding:0;margin:28px 0;display:flex;flex-direction:column;gap:20px;counter-reset:steps}.help-steps li{position:relative;padding-left:32px;counter-increment:steps}.help-steps li:before{content:counter(steps);position:absolute;left:0;top:-2px;font:500 22px Fraunces;color:#997447}.help-steps strong{font-size:13px}.help-steps span{display:block;font-size:12px;line-height:1.7;color:#6e6e60;margin-top:6px}.about-lines{border-top:1px solid var(--line);padding-top:17px;font-size:10px;line-height:1.8;color:#747265}.primary-button{display:flex;align-items:center;justify-content:center;gap:15px;min-height:46px;background:var(--wine);color:#fff1da;border:0;border-radius:7px;width:100%;margin-top:22px;font-size:12px}.primary-button:hover{background:#633030}.primary-button .icon{width:17px;height:17px}.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}@media(min-width:1450px){.site-header{height:110px}.intro{padding:44px 0 36px}}@media(max-width:1250px){.site-header,main,footer{margin-left:32px;margin-right:32px}.piece-list{gap:10px}.piece{gap:8px;padding:10px}.piece-art{width:36px}.piece-info strong{font-size:10px}.stage-invitation>span:first-child{font-size:21px}}@media(max-width:900px){.made-for{display:none}.conductor-desk{grid-template-columns:1.2fr 1fr}.score-panel{grid-column:1/-1;border-top:1px solid var(--line);padding:20px 0 0;margin-top:24px;display:grid;grid-template-columns:1fr 130px 1.5fr;align-items:center;gap:8px 20px}.score-panel .panel-heading{margin:0}.score-value{height:auto}.score-value>strong{font-size:35px}.score-panel p{margin:0;max-width:none;min-height:0}.personal-best{margin:0;grid-column:3}.tempo-panel{padding-right:0;border-right:0}.piece-list{grid-template-columns:repeat(2,1fr);gap:12px}.piece-art{width:44px}.piece-info strong{font-size:12px}.stage-invitation{top:54px}.stage-invitation>span:first-child{font-size:17px}.stage-invitation small,.invitation-line{display:none}.player-label{font-size:14px;bottom:11px}.player-label small{font-size:8px}.transport{gap:16px;padding:16px 20px}.beat-display{gap:7px}.section-name{min-width:155px}.section-editor{gap:10px}.section-volume{gap:5px}footer>span:nth-child(2){display:none}}@media(max-width:600px){.site-header,main,footer{margin-left:20px;margin-right:20px}.site-header{height:78px}.brand{font-size:24px;gap:5px}.brand-mark{width:30px}.brand-mark .icon{width:28px;height:28px}.brand-dot{margin-left:-6px}.header-actions{gap:0}.quiet-button{font-size:11px;gap:6px}.quiet-button .icon{width:17px;height:17px}.intro{padding:29px 0 25px}.intro h1{font-size:37px;letter-spacing:-1.4px}.intro p{font-size:12px;max-width:260px;line-height:1.6;margin-top:10px}.intro-note{display:none}.theatre{border-radius:10px}.stage{aspect-ratio:1.4}.stage-art{object-fit:contain;object-position:center top}.stage-top{top:12px;left:12px;right:12px}.stage-status{font-size:8px;padding:6px 9px}.stage-sound{width:44px;height:44px}.stage-sound .icon{height:17px;width:17px}.stage-invitation{top:54px}.stage-invitation>span:first-child{font-size:13px}.players{inset:29% 1% 0}.player{border-radius:15px 15px 0 0}.player-label{bottom:8px;font-size:10px;padding:0;text-shadow:none}.player-label:before{inset:-5px -1px;background:#251a14e0}.player-label small{margin-top:3px;font-size:7px;letter-spacing:0}.player-light{display:none}.transport{flex-wrap:wrap;gap:14px;padding:15px}.play-button{min-width:105px;min-height:46px;font-size:12px;padding:10px 14px}.now-playing{flex:1;min-width:120px}.now-playing strong{font-size:16px}.now-playing>span{font-size:9px;line-height:1.4}.beat-display{margin-left:0;gap:9px;padding-left:4px}.beat-dot{width:22px;height:22px;font-size:9px}.restart{height:28px;margin-left:auto;width:44px;min-height:44px;margin-top:-8px;margin-bottom:-8px}.conductor-desk{grid-template-columns:1fr;margin-top:25px;padding-bottom:24px}.baton-panel{padding:0}.panel-heading{margin-bottom:13px}.panel-heading h2{font-size:13px}.baton-pad{height:146px}.tempo-panel{border:0;border-top:1px solid var(--line);margin-top:23px;padding:20px 0 0}.tempo-panel .panel-heading{margin-bottom:4px}.tempo-readout{max-width:290px;margin:0 auto}.tempo-readout strong{font-size:44px}.tempo-slider{margin-top:0!important}.score-panel{grid-column:auto;grid-template-columns:1fr 100px;padding-top:21px;margin-top:22px;gap:5px 12px}.score-panel .panel-heading{grid-column:1}.score-value{grid-column:2;grid-row:1/3;justify-content:end}.score-bars{display:none!important}.score-value>strong{font-size:40px}.score-panel p{font-size:10px;grid-column:1}.personal-best{grid-column:1;margin-top:7px}.repertoire{padding:26px 0 25px}.repertoire h2{font-size:24px}.arrangement-note{display:none}.repertoire-heading{margin-bottom:18px}.piece-list{gap:9px}.piece{padding:10px 8px;gap:8px;min-height:85px}.piece-art{width:30px;height:45px}.piece-art .icon{height:21px;width:21px}.piece-info{gap:4px}.piece-info strong{font-size:10px}.piece-info small{font-size:9px}.piece-check{display:none}.piece.selected .piece-check{display:flex;position:absolute;right:5px;bottom:5px}.piece{position:relative}.piece-check .icon{height:12px;width:12px}footer{flex-direction:column;align-items:flex-start;gap:0;padding-top:18px;padding-bottom:17px;font-size:10px}footer button{font-size:10px}.section-editor{flex-wrap:wrap;padding:13px 15px;gap:9px}.section-name{min-width:0;flex:1;order:0}.section-editor>#close-section{order:1}.section-volume{order:2;flex-basis:100%}.section-editor>.toggle-button{order:3;flex:1}dialog{padding:24px}.help-steps{margin:24px 0}.help-steps li{padding-left:28px}.help-steps span{font-size:11px}dialog h2{font-size:30px}.about-lines{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tap-ripple{display:none}}.is-playing.on-beat .player:not(.is-muted) .player-light{animation:player-beat .45s ease-out}@keyframes player-beat{0%{transform:scale(1.8);opacity:1}to{transform:scale(1);opacity:.6}}
