:root{--sf-bg-app:#081120;--sf-bg-raised:#0a1424;--sf-bg-panel:#101c30;--sf-bg-panel-inset:#0d1628;--sf-bg-topbar:#0f1a2e;--sf-bg-overlay:#0d1628eb;--sf-border:#243552;--sf-border-muted:#1a2a44;--sf-border-strong:#334a72;--sf-border-focus:#4a6a9a;--sf-text-primary:#f4f7fc;--sf-text-secondary:#e8eef8;--sf-text-body:#c8d6ef;--sf-text-muted:#9fb3d9;--sf-text-subtle:#8fa3c7;--sf-text-faint:#7a92b8;--sf-text-disabled:#6b82a8;--sf-accent:#6d4aff;--sf-accent-hover:#7d5fff;--sf-accent-muted:#6d4aff38;--sf-accent-secondary:#3b82c4;--sf-accent-green:#2d6a4f;--sf-space-xs:4px;--sf-space-sm:8px;--sf-space-md:12px;--sf-space-lg:16px;--sf-space-xl:20px;--sf-space-2xl:24px;--sf-space-3xl:28px;--sf-space-4xl:32px;--sf-radius-sm:8px;--sf-radius-md:10px;--sf-radius-lg:12px;--sf-radius-xl:16px;--sf-radius-pill:999px;--sf-font-title:1.5rem;--sf-font-heading:1.125rem;--sf-font-section:1rem;--sf-font-body:.9rem;--sf-font-small:.8125rem;--sf-font-caption:.75rem;--sf-sidebar-width:300px;--sf-topbar-height:72px;--sf-content-max:1100px;--sf-ease:ease;--sf-duration-fast:.15s;--sf-duration:.2s;--sf-focus-ring:0 0 0 2px var(--sf-bg-app), 0 0 0 4px #6d4aff80;--sf-focus-ring-subtle:0 0 0 2px var(--sf-bg-panel), 0 0 0 4px #5a82be73}:focus{outline:none}:focus-visible{box-shadow:var(--sf-focus-ring);outline:none}button:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){box-shadow:none}.panel,.profile-panel,.profile-stat,.profile-level,.practice-section,.practice-view__empty,.practice-view__panel,.library-welcome,.session-restore-overlay__card{border-color:var(--sf-border)}.panel,.profile-panel,.profile-level,.practice-view__empty,.practice-view__panel{background:var(--sf-bg-panel)}.topbar__nav-btn,.topbar__feedback,.feedback-link,.session-restore-banner__btn,.library-welcome__btn,.demo-piece__button,.profile-footer__reset,.profile-dev-tools__btn,.profile-name-form__cancel,.profile-name-form__save,.upload-btn,.pdf-fullscreen__close,.midi-transport__btn,.practice-fullscreen-hud__play,.wait-for-you__btn,.wait-for-you__btn--primary{transition:background var(--sf-duration-fast) var(--sf-ease), border-color var(--sf-duration-fast) var(--sf-ease), color var(--sf-duration-fast) var(--sf-ease), filter var(--sf-duration-fast) var(--sf-ease), box-shadow var(--sf-duration-fast) var(--sf-ease), opacity var(--sf-duration-fast) var(--sf-ease)}.topbar__nav-btn:focus-visible,.topbar__feedback:focus-visible,.feedback-link:focus-visible,.session-restore-banner__btn:focus-visible,.library-welcome__btn:focus-visible,.demo-piece__button:focus-visible,.profile-footer__reset:focus-visible,.profile-dev-tools__btn:focus-visible,.profile-name-form__save:focus-visible,.profile-name-form__cancel:focus-visible,.upload-btn:focus-visible,.pdf-fullscreen__close:focus-visible,.midi-transport__btn:focus-visible,.practice-fullscreen-hud__play:focus-visible,.wait-for-you__btn:focus-visible,.practice-section__toggle:focus-visible{box-shadow:var(--sf-focus-ring)}.profile-empty,.practice-workspace__empty,.library-panel__empty{color:var(--sf-text-muted);line-height:1.55}.profile-empty{padding:var(--sf-space-3xl) var(--sf-space-2xl);text-align:center;background:var(--sf-bg-panel);border:1px dashed var(--sf-border-strong);border-radius:var(--sf-radius-xl)}.profile-panel__empty{margin:var(--sf-space-sm) 0 0;color:var(--sf-text-muted);font-size:var(--sf-font-small);line-height:1.5}.library-panel__empty{margin:var(--sf-space-lg) 0 0;padding:var(--sf-space-md) var(--sf-space-lg);border-radius:var(--sf-radius-md);background:var(--sf-bg-panel-inset);border:1px solid var(--sf-border-muted)}.topbar__nav-btn--muted:hover{opacity:.85}.profile-dev-tools{margin-top:var(--sf-space-2xl);padding:var(--sf-space-md) 0 0;border:none;border-top:1px solid var(--sf-border-muted);background:0 0;border-radius:0}.profile-dev-tools__label{margin:0 0 var(--sf-space-sm);font-size:var(--sf-font-caption);color:var(--sf-text-disabled);text-transform:none;letter-spacing:0;font-weight:500}.profile-dev-tools__btn{border-radius:var(--sf-radius-sm);border:1px solid var(--sf-border);background:var(--sf-bg-panel-inset);color:var(--sf-text-muted);font-size:var(--sf-font-caption);padding:7px 12px;font-weight:500}.profile-dev-tools__btn:hover{border-color:var(--sf-border-strong);color:var(--sf-text-secondary);background:var(--sf-bg-panel)}.profile-dev-tools__btn--muted{background:0 0}@media (width<=768px){.library-panel{padding:var(--sf-space-lg) var(--sf-space-md) var(--sf-space-2xl)}.library-welcome-wrap{padding:var(--sf-space-md) var(--sf-space-lg) 0}.panel{padding:var(--sf-space-xl) var(--sf-space-lg)}.session-restore-banner{padding:var(--sf-space-md) var(--sf-space-lg)}}@media (width<=640px){.topbar{height:auto;min-height:var(--sf-topbar-height);padding:var(--sf-space-md) var(--sf-space-lg);gap:var(--sf-space-md);flex-wrap:wrap}.topbar__nav{justify-content:stretch;width:100%}.topbar__nav-btn{padding:var(--sf-space-md) var(--sf-space-sm);text-align:center;flex:1}}*,:before,:after{box-sizing:border-box}body{background:var(--sf-bg-app);min-height:100vh;color:var(--sf-text-secondary);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--sf-font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}#root{min-height:100vh}button,input{font:inherit}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}.practice-workspace{background:var(--sf-bg-raised);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.practice-workspace__layout{flex:1;align-items:stretch;min-width:0;min-height:0;display:flex;overflow:hidden}.practice-workspace__score{-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.practice-control-panel{flex:0 0 var(--sf-sidebar-width);width:var(--sf-sidebar-width);max-width:36vw;max-height:calc(100vh - var(--sf-topbar-height));height:calc(100vh - var(--sf-topbar-height));padding:var(--sf-space-lg);align-self:flex-start;gap:var(--sf-space-md);border-left:1px solid var(--sf-border);background:var(--sf-bg-panel);z-index:2;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden auto}.practice-workspace__layout--playing .practice-control-panel__footer{opacity:.72}.practice-workspace__layout--playing .practice-control-panel__primary{opacity:1}.practice-workspace__layout--playing .practice-section--position-focus{box-shadow:0 0 0 1px #6d4aff38}.practice-workspace__score{scroll-behavior:auto}.practice-section--position-focus .practice-position__hero-value{font-size:1.35rem}.practice-control-panel .practice-collapsible-section{margin-top:4px}.practice-workspace__empty{padding:var(--sf-space-4xl) var(--sf-space-2xl);text-align:center;color:var(--sf-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.practice-workspace__empty h2{margin:0 0 var(--sf-space-md);font-size:var(--sf-font-heading);color:var(--sf-text-primary);font-weight:600}.practice-workspace__empty p{margin:0 0 var(--sf-space-sm);max-width:420px;line-height:1.55}.practice-workspace__empty-lead{max-width:420px;margin:0 0 12px}.practice-workspace__empty-hint{color:#6b82a8;font-size:.85rem}.practice-workspace__steps{text-align:left;max-width:420px;margin:0 0 16px;padding:0;list-style:none}.practice-workspace__steps li{counter-increment:practice-step;background:#152238d9;border:1px solid #243552;border-radius:10px;margin:0 0 10px;padding:10px 12px 10px 36px;font-size:.9rem;line-height:1.45;position:relative}.practice-workspace__steps{counter-reset:practice-step}.practice-workspace__steps li:before{content:counter(practice-step);color:#c5d4ef;background:#263a5e;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:10px;left:10px}.practice-control-panel__primary{flex-direction:column;gap:10px;display:flex}.practice-control-panel__primary .practice-section--compact:first-child{border-color:#3a5080;box-shadow:0 0 0 1px #6d4aff1f}.practice-workspace__score{position:relative}.score-follow-setup-status{z-index:25;color:#e8eef8;pointer-events:none;text-align:center;background:#0c1628e0;border:1px solid #3a5078;border-radius:999px;align-items:center;gap:8px;max-width:min(92%,420px);margin:0;padding:6px 12px;font-size:.75rem;line-height:1.3;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.score-follow-setup-status--running{border-color:#38bdf873}.score-follow-setup-status--ready{border-color:#6d4aff73}.score-follow-setup-status--warning{color:#e8d4a8;background:#b478281f;border:1px solid #dca03c59}.score-follow-setup-status--needs-setup{color:var(--sf-text-secondary,#8a8478)}.score-follow-setup-status--hint{color:var(--sf-text-secondary,#8a8478);font-size:.9rem}.score-follow-setup-status--failed{color:#fde68a;border-color:#facc1559}.practice-env-notices{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.practice-env-notices__item{color:#b8c8e6;background:#1420388c;border:1px solid #2d4268;border-radius:8px;margin:0;padding:10px 12px;font-size:.78rem;line-height:1.45}.practice-env-notices__item kbd{background:#ffffff14;border-radius:4px;padding:1px 5px;font-size:.72rem}.score-follow-setup-intro{color:#a8b8d8;margin:0 0 10px;font-size:.8rem;line-height:1.45}.score-follow-setup-status__spinner{border:2px solid #38bdf859;border-top-color:#38bdf8;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.8s linear infinite score-follow-setup-spin}@keyframes score-follow-setup-spin{to{transform:rotate(360deg)}}.score-follow-setup-steps{color:#9fb3d9;margin:0 0 12px;padding:0 0 0 18px;font-size:.8rem;line-height:1.5}.score-follow-setup-steps li{margin-bottom:6px}.score-follow-setup-steps kbd{font-size:.7rem}.practice-files{background:#152238;border:1px solid #243552;border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.practice-files__item{flex-direction:column;gap:2px;display:flex}.practice-files__item--ok .practice-files__value{color:#c8e6d4}.practice-files__label{text-transform:uppercase;letter-spacing:.04em;color:#8fa3c7;font-size:.7rem;font-weight:600}.practice-files__hint{color:#6b82a8;font-size:.7rem;line-height:1.3}.practice-files__value{color:#c8d4e8;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.practice-setup,.practice-diagnostics{flex-direction:column;gap:12px;display:flex}.practice-setup .score-follow-controls--embedded,.practice-advanced .score-follow-controls--embedded{background:0 0;border:none;flex:none;width:100%;max-width:none;padding:0}.practice-section--setup .score-follow-controls__list{max-height:min(200px,28vh)}.practice-section--diagnostics{padding:14px 16px}.practice-section--diagnostics .timing-diagnostics{margin:0}.score-follow-controls__debug--panel{border-top:none;margin:0;padding-top:0}.practice-status__hint{color:#6b82a8;margin-bottom:2px;font-size:.65rem;display:block}@media (width<=960px){.practice-workspace__layout{flex-direction:column;overflow-y:auto}.practice-workspace__score{flex:auto;min-height:min(58vh,640px);overflow-y:auto}.practice-control-panel{-webkit-overflow-scrolling:touch;border-top:1px solid #243552;border-left:none;flex:none;width:100%;max-width:none;height:auto;max-height:min(52vh,520px);position:sticky;top:0}.practice-control-panel__footer{z-index:2;background:linear-gradient(#0000 0,#101c30 10px 100%);margin-top:auto;padding-top:8px;position:sticky;bottom:0}.practice-control-panel__footer .practice-section__toggle{z-index:1;position:relative}.practice-loop__actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.practice-loop__btn{width:100%;min-width:0;padding:0 8px}}.practice-view{flex-direction:column;flex:1;gap:24px;min-height:0;padding:32px 40px;display:flex}.practice-view__header h2{color:#f4f7fc;margin:0 0 6px;font-size:1.5rem;font-weight:600}.practice-view__intro{color:#8fa3c7;max-width:720px;margin:0;font-size:.9rem;line-height:1.5}.practice-layout{grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);align-items:start;gap:16px;display:grid}@media (width<=960px){.practice-layout{grid-template-columns:1fr}}.practice-layout__primary,.practice-layout__secondary{flex-direction:column;gap:16px;min-width:0;display:flex}.practice-section{padding:var(--sf-space-lg) var(--sf-space-xl);background:var(--sf-bg-panel);border:1px solid var(--sf-border);border-radius:var(--sf-radius-xl);transition:border-color var(--sf-duration) var(--sf-ease), box-shadow var(--sf-duration) var(--sf-ease)}.practice-section__title--static{color:#c5d4ef;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:.85rem;font-weight:600}.practice-section__header-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.practice-section__header-row .practice-section__title--static{margin:0}.practice-section__body--flat{flex-direction:column;gap:12px;display:flex}.practice-position__hero-meta--repeat{color:#c4b5fd}.timing-diagnostics__stats--repeats{border-top:1px solid #2a3d5c;margin-top:8px;padding-top:8px}.timing-diagnostics__repeat-warning{color:#e8d4a8;background:#b48c281f;border:1px solid #dcb43c59;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:.8rem;line-height:1.45}.practice-section__hint--sound{color:#9fb3d9;background:#152238a6;border:1px solid #2a3d5c;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:.8rem;line-height:1.45}.practice-section__hint{color:#6b82a8;margin:0;font-size:.85rem;line-height:1.45}.practice-section__hint--inline{margin-bottom:4px}.practice-section__file{color:#8fa3c7;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;overflow:hidden}.practice-section__status--loading{color:#9fb3d9;animation:1.4s ease-in-out infinite practice-status-pulse}@keyframes practice-status-pulse{0%,to{opacity:.65}50%{opacity:1}}.practice-section__status{color:#8fa3c7;margin:0;font-size:.85rem}.practice-section__error{color:#f0a0a8;margin:0;font-size:.85rem}.practice-section--collapsible{padding:0;overflow:hidden}.practice-section__toggle{width:100%;padding:var(--sf-space-lg) var(--sf-space-xl);border-radius:var(--sf-radius-md);color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.practice-section__toggle:hover{background:#ffffff0a}.practice-section__toggle-label{flex-direction:column;gap:4px;min-width:0;display:flex}.practice-section--collapsible .practice-section__title{color:#9fb3d9;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.85rem;font-weight:600}.practice-section__summary{color:#6b82a8;text-transform:none;letter-spacing:normal;font-size:.75rem;font-weight:400}.practice-section__chevron{color:#6b82a8;flex-shrink:0;font-size:.9rem}.practice-section--collapsible .practice-section__body{padding:0 18px 16px}.practice-status{background:#0d1628;border:1px solid #243552;border-radius:14px;padding:14px 18px}.practice-status__heading{color:#6b82a8;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:.75rem;font-weight:600}.practice-status__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.practice-status__item{background:#101c30;border:1px solid #243552;border-radius:8px;padding:8px 10px}.practice-status__item--ok{border-color:#6d4aff59}.practice-status__label{color:#6b82a8;text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:500;display:block}.practice-status__value{color:#9fb3d9;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.75rem;display:block;overflow:hidden}.practice-status__item--ok .practice-status__value{color:#e8eef8}.practice-position--embedded,.measure-nav--embedded,.practice-loop--embedded{background:0 0;border:none;border-radius:0;padding:0}.practice-position--embedded .practice-position__grid{margin-top:0}.measure-nav--embedded{border-top:1px solid #243552;flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px;display:flex}.measure-nav--embedded .measure-nav__label{color:#6b82a8;margin-right:4px;font-size:.75rem;font-weight:500}.measure-nav--embedded .measure-nav__current,.measure-nav--embedded .measure-nav__current-value,.measure-nav--embedded .measure-nav__current-meta{display:none}.practice-loop__toggle--inline{color:#9fb3d9;font-size:.85rem}.practice-mode__options{flex-wrap:wrap;gap:12px 20px;display:flex}.practice-mode__option{color:#e8eef8;cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.practice-mode__option input{accent-color:#6d4aff}.wait-for-you__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.wait-for-you__header .practice-section__title--static{margin:0}.wait-for-you__badge{color:#d4c8ff;background:#6d4aff33;border:1px solid #6d4aff73;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600}.wait-for-you__status{color:#e8eef8;margin:0;font-size:.9rem;line-height:1.45}.wait-for-you__status--complete{color:#b8e6c8}.wait-for-you__status--no-checkpoints{color:#f0b8b8}.wait-for-you__progress{color:#6b82a8;margin:0;font-size:.8rem}.wait-for-you__target{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;display:grid}.wait-for-you__target dt{color:#6b82a8;text-transform:uppercase;margin:0 0 2px;font-size:.65rem}.wait-for-you__target dd{color:#f4f7fc;margin:0;font-size:1.1rem;font-weight:600}.wait-for-you__actions{flex-wrap:wrap;gap:8px;display:flex}.wait-for-you__btn{min-height:40px;padding:0 var(--sf-space-lg);border:1px solid var(--sf-border-strong);border-radius:var(--sf-radius-md);background:var(--sf-bg-panel-inset);color:var(--sf-text-body);font-size:var(--sf-font-small);cursor:pointer;font-weight:500}.wait-for-you__btn:hover:not(:disabled){border-color:var(--sf-border-focus);background:#1a2844}.wait-for-you__btn:disabled{opacity:.45;cursor:not-allowed}.wait-for-you__btn--primary{background:var(--sf-accent);color:#fff;border-color:#0000}.wait-for-you__btn--primary:hover:not(:disabled){background:var(--sf-accent-hover)}.wait-for-you__hint{color:#6b82a8;margin:0;font-size:.75rem;line-height:1.45}.wait-for-you__checkpoint-mode{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px;display:flex}.wait-for-you__checkpoint-mode-label{color:#6b82a8;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.wait-for-you__checkpoint-mode-option{color:#e8eef8;cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.wait-for-you__checkpoint-mode-option input{accent-color:#6d4aff}.wait-for-you__listening{color:#b8d4ff;margin:0;font-size:.8rem}.wait-for-you__mic-chord-hint{color:#e8d4a8;background:#c8a03c1a;border:1px solid #c8a03c47;border-radius:8px;margin:0;padding:8px 10px;font-size:.78rem;line-height:1.45}.wait-for-you__explainer{color:#9fb3d9;margin:0 0 12px;font-size:.82rem;line-height:1.45}.wfy-input-source{background:#1420388c;border:1px solid #2e4268;border-radius:10px;margin-bottom:12px;padding:10px 12px}.wfy-input-source__header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.wfy-input-source__label{text-transform:uppercase;letter-spacing:.04em;color:#8fa3c7;font-size:.72rem;font-weight:600}.wfy-input-source__options{flex-direction:column;gap:6px;display:flex}.wfy-input-source__option{color:#e8eef8;cursor:pointer;align-items:flex-start;gap:8px;font-size:.82rem;display:flex}.wfy-input-source__option--disabled{opacity:.45;cursor:not-allowed}.wfy-input-source__option--selected{color:#f4f7fc}.wfy-input-source__option input{accent-color:#6d4aff;margin-top:3px}.wfy-input-source__option-text{flex-direction:column;gap:2px;display:flex}.wfy-input-source__option-hint{color:#8fa3c7;font-size:.72rem}.wfy-input-source__accuracy-note{color:#9fb3d9;margin:8px 0 0;font-size:.72rem;line-height:1.45}.mic-input-status__grid{grid-template-columns:1fr 1fr;gap:8px 12px;margin:8px 0;font-size:.78rem;display:grid}.mic-input-status__grid dt{color:#8fa3c7;font-weight:600}.mic-input-status__grid dd{color:#e8eef8;margin:0}.mic-input-status__mvp-note{color:#9fb3d9;margin:8px 0 0;font-size:.75rem;line-height:1.45}.mic-input-status__actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mic-input-status__btn{color:#e8eef8;cursor:pointer;background:#1a2844;border:1px solid #3d5278;border-radius:8px;padding:6px 12px;font-size:.8rem}.mic-input-status__btn:hover{background:#243558}.mic-input-status__safari{color:#e8d4a8;background:#b48c281f;border:1px solid #b48c2859;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:.75rem;line-height:1.45}.mic-input-status__heard{color:#c8d6f0;background:#1a2844;border:1px solid #2d4268;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:.82rem;line-height:1.4}.mic-input-status__heard--wrong{color:#f5c4c4;border-color:#dc5a5a73}.mic-input-status__heard--correct{color:#b8f0d0;border-color:#48b47873}.mic-input-status__chord-note{color:#b8c8e8;margin:8px 0 0;font-size:.75rem;font-style:italic;line-height:1.45}.mic-test{background:#121c30;border:1px solid #2a3d5c;border-radius:10px;margin-top:12px;padding:10px 12px}.mic-test__title{color:#e8eef8;margin:0 0 4px;font-size:.8rem;font-weight:600}.mic-test__hint{color:#8fa3c7;margin:0 0 10px;font-size:.72rem;line-height:1.45}.mic-test__cents{color:#8fa3c7;font-variant-numeric:tabular-nums;font-size:.72rem}.mic-input-status__calibration{color:#9bb4d4;margin:4px 0 0;font-size:.74rem;line-height:1.4}.mic-input-status__calibration--measuring{color:#b9c6dd}.mic-input-status__calibration--room-noisy{color:#f0c674}.mic-input-status__calibration--no-input{color:#f0b8b8}.mic-input-status__calibration--ready{color:#8fcf9f}.mic-test__meter-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.mic-test__meter-label{color:#8fa3c7;flex-shrink:0;width:4.5rem;font-size:.72rem}.mic-test__meter{background:#0d1526;border-radius:4px;flex:1;height:8px;overflow:hidden}.mic-test__meter-fill{background:linear-gradient(90deg,#3d7a52,#6ecf8a);border-radius:4px;height:100%;transition:width 80ms ease-out}.mic-test__readout{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;font-size:.78rem;display:grid}.mic-test__readout dt{color:#8fa3c7;font-weight:600}.mic-test__readout dd{color:#e8eef8;margin:0}.mic-test__quality--good{color:#8ce8b0}.mic-test__quality--too-quiet,.mic-test__quality--weak{color:#e8d4a8}.mic-test__quality--too-noisy{color:#f5b0b0}.wait-for-you__settings-fieldset{border:1px solid #2d4268;border-radius:8px;margin:10px 0 0;padding:8px 10px}.wait-for-you__settings-fieldset legend{color:#c8d6f0;padding:0 4px;font-size:.78rem;font-weight:600}.wait-for-you__settings-fieldset-hint{color:#8fa3c7;margin:0 0 8px;font-size:.72rem;line-height:1.4}.wait-for-you__feedback{border-radius:8px;margin:0;padding:8px 10px;font-size:.85rem;line-height:1.4}.wait-for-you__feedback--success{color:#b8e6c8;background:#48a06426;border:1px solid #48a06459}.wait-for-you__feedback--error{color:#f0b8b8;background:#c850501f;border:1px solid #c8505059}.wait-for-you__feedback--partial{color:#e8d4a8;background:#c8a03c1f;border:1px solid #c8a03c59}.wait-for-you__feedback--waiting,.wait-for-you__feedback--neutral{color:#c8d4e8;background:#50648c26;border:1px solid #50648c4d}.wait-for-you__settings{background:#14203899;border:1px solid #2e4268;border-radius:10px;margin-bottom:12px;padding:10px 12px}.wait-for-you__settings-summary{cursor:pointer;color:#b8c8e8;font-size:.8rem;font-weight:600;list-style:none}.wait-for-you__settings-summary::-webkit-details-marker{display:none}.wait-for-you__settings-body{flex-direction:column;gap:8px;margin-top:10px;display:flex}.wait-for-you__settings-row{color:#e8eef8;cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.wait-for-you__settings-row--number{cursor:default;flex-direction:column;align-items:flex-start}.wait-for-you__settings-row--number input{color:#e8eef8;background:#152238;border:1px solid #2e4268;border-radius:8px;width:100%;max-width:120px;height:32px;padding:0 8px;font-size:.85rem}.wait-for-you__settings-row input[type=checkbox]{accent-color:#6d4aff}.wait-for-you__settings-reset{color:#9ab0d0;cursor:pointer;background:0 0;border:1px solid #2e4268;border-radius:8px;align-self:flex-start;height:32px;padding:0 12px;font-size:.8rem}.wait-for-you__settings-reset:hover:not(:disabled){color:#e8eef8;background:#1d2d4d}.wait-for-you__settings-hint{color:#6b82a8;margin:8px 0 0;font-size:.75rem;line-height:1.4}.wait-for-you__target-wide{grid-column:1/-1}.wait-for-you__target-wide dd{font-size:.95rem;font-weight:500}.midi-input-status__grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 10px;display:grid}.midi-input-status__grid dt{color:#6b82a8;text-transform:uppercase;margin:0 0 2px;font-size:.65rem}.midi-input-status__grid dd{color:#f4f7fc;margin:0;font-size:.9rem}.midi-input-status__devices{color:#c8d4e8;margin:0 0 10px;padding:0;font-size:.85rem;list-style:none}.midi-input-status__device-name{font-weight:500}.midi-input-status__device-meta{color:#6b82a8}.midi-input-status__actions{flex-wrap:wrap;gap:8px;display:flex}.midi-input-status__btn{color:#e8eef8;cursor:pointer;background:#1d2d4d;border:1px solid #2e4268;border-radius:10px;height:36px;padding:0 14px;font-size:.85rem}.midi-input-status__btn:hover{background:#263a5e}.timing-diagnostics{flex-direction:column;gap:12px;font-size:.8rem;display:flex}.timing-diagnostics__empty{color:#6b82a8;margin:0}.timing-diagnostics__sync{color:#9fb3d9;background:#0d1628;border:1px solid #243552;border-radius:8px;margin:0;padding:6px 10px;font-size:.8rem}.timing-diagnostics__sync--active{color:#d4c8ff;border-color:#5a3fd4}.timing-diagnostics__file,.timing-diagnostics__status{color:#8fa3c7;margin:0}.timing-diagnostics__error{color:#f0a0a8;margin:0}.timing-diagnostics__stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.timing-diagnostics__stats>div{background:#0d1628;border:1px solid #243552;border-radius:8px;padding:8px}.timing-diagnostics__stats dt{color:#6b82a8;margin:0 0 2px;font-size:.65rem}.timing-diagnostics__stats dd{color:#e8eef8;margin:0}.timing-diagnostics__scrub{color:#9fb3d9;flex-direction:column;gap:6px;display:flex}.timing-diagnostics__scrub input{accent-color:#6d4aff;width:100%}.timing-diagnostics__scrub-time,.timing-diagnostics__clock{color:#6b82a8;font-size:.75rem}.timing-diagnostics__details{background:#0d1628;border:1px solid #243552;border-radius:8px;padding:8px 10px}.timing-diagnostics__details summary{cursor:pointer;color:#9fb3d9;font-size:.8rem}.timing-diagnostics__details ul{max-height:160px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.timing-diagnostics__event{border-bottom:1px solid #1a2840;grid-template-columns:3rem 6rem 1fr;gap:6px;padding:4px 0;font-size:.7rem;display:grid}.timing-diagnostics--muted{color:#6b82a8}.practice-view__columns{grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}@media (width<=900px){.practice-view__columns{grid-template-columns:1fr}}.practice-view__column{flex-direction:column;gap:12px;min-width:0;display:flex}.practice-view__section-title{color:#c5d4ef;margin:0;font-size:1rem;font-weight:600}.practice-view__column-hint{margin:0}.practice-view__regions{flex-direction:column;gap:12px;display:flex}.practice-position{background:#101c30;border:1px solid #243552;border-radius:16px;flex-direction:column;gap:12px;padding:14px 20px;display:flex}.practice-position__title{color:#c5d4ef;margin:0;font-size:.9rem;font-weight:600}.practice-position__grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.practice-position__stat{background:#0d1628;border:1px solid #243552;border-radius:10px;padding:10px 12px}.practice-position__stat--wide{grid-column:1/-1}.practice-position__label{color:#6b82a8;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.7rem;font-weight:500;display:block}.practice-position__value{font-variant-numeric:tabular-nums;color:#f4f7fc;font-size:1.5rem;font-weight:700;line-height:1}.practice-position__meta{color:#9fb3d9;font-size:.85rem}.practice-position__controls{flex-wrap:wrap;gap:8px;display:flex}.practice-position__btn{color:#e8eef8;cursor:pointer;background:#1d2d4d;border:1px solid #2e4268;border-radius:10px;height:36px;padding:0 12px;font-size:.8rem;font-weight:500;transition:background .15s}.practice-position__btn:hover:not(:disabled){background:#263a5e}.practice-position__btn:disabled{opacity:.4;cursor:not-allowed}.practice-position__btn--secondary{color:#9fb3d9;background:0 0}.measure-nav{background:#101c30;border:1px solid #243552;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding:16px 20px;display:flex}.measure-nav__current{flex-wrap:wrap;align-items:baseline;gap:8px 12px;min-width:0;display:flex}.measure-nav__current-label{color:#8fa3c7;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.measure-nav__current-value{font-variant-numeric:tabular-nums;color:#f4f7fc;font-size:2rem;font-weight:700;line-height:1}.measure-nav__current-meta{color:#6b82a8;font-size:.8rem}.measure-nav__number-range{color:#6b82a8}.measure-nav__controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.measure-nav__btn{color:#e8eef8;cursor:pointer;background:#1d2d4d;border:1px solid #2e4268;border-radius:10px;height:40px;padding:0 14px;font-size:.875rem;font-weight:500;transition:background .15s}.measure-nav__btn:hover:not(:disabled){background:#263a5e}.measure-nav__btn:disabled{opacity:.4;cursor:not-allowed}.measure-nav__goto{align-items:center;gap:8px;display:flex}.measure-nav__goto-label{color:#9fb3d9;font-size:.85rem}.measure-nav__goto-input{color:#e8eef8;font-variant-numeric:tabular-nums;background:#0d1628;border:1px solid #2e4268;border-radius:10px;width:4.5rem;height:40px;padding:0 10px;font-size:.9rem}.measure-nav__goto-input:disabled{opacity:.4}.measure-nav__btn--go{min-width:3.5rem}.practice-loop{background:#101c30;border:1px solid #243552;border-radius:16px;flex-direction:column;gap:12px;padding:14px 20px;display:flex}.practice-loop__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-loop__snap--compact{flex-flow:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}.practice-loop__snap--compact .practice-loop__snap-label{margin:0}.practice-loop__snap{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.practice-loop__snap-label{color:#6b82a8;font-size:.8rem}.practice-loop__snap-option{color:#9fb3d9;cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}.practice-loop__snap-option input{accent-color:#6d4aff}.practice-loop__title{color:#c5d4ef;margin:0;font-size:.9rem;font-weight:600}.practice-loop__toggle{color:#9fb3d9;cursor:pointer;align-items:center;gap:8px;font-size:.85rem;display:flex}.practice-loop__toggle input{accent-color:#6d4aff}.practice-loop__actions{flex-wrap:wrap;gap:8px;display:flex}.practice-loop__btn{color:#e8eef8;cursor:pointer;background:#1d2d4d;border:1px solid #2e4268;border-radius:10px;height:36px;padding:0 12px;font-size:.8rem;font-weight:500;transition:background .15s}.practice-loop__btn:hover:not(:disabled){background:#263a5e}.practice-loop__btn:disabled{opacity:.4;cursor:not-allowed}.practice-loop__btn--ghost{color:#9fb3d9;background:0 0}.practice-loop__summary{flex-direction:column;gap:4px;display:flex}.practice-loop__range{color:#e8eef8;margin:0;font-size:.9rem;font-weight:600}.practice-loop__duration{color:#9fb3d9;margin:0;font-size:.8rem}.practice-loop__times{color:#6b82a8;font-variant-numeric:tabular-nums}.practice-loop__hint{color:#6b82a8;margin:4px 0 0;font-size:.75rem;line-height:1.4}.practice-view__file{color:#8fa3c7;text-overflow:ellipsis;white-space:nowrap;max-width:480px;margin:0;font-size:.9rem;overflow:hidden}.practice-view__empty{background:#101c30;border:1px solid #243552;border-radius:16px;max-width:420px;padding:32px}.practice-view__empty p{color:#9fb3d9;margin:0;line-height:1.5}.practice-view__empty-hint{font-size:.875rem;color:#6b82a8!important;margin-top:10px!important}.practice-view__panel{background:#101c30;border:1px solid #243552;border-radius:16px;flex-direction:column;gap:24px;max-width:560px;padding:24px;display:flex}.practice-view__status{color:#8fa3c7;margin:0}.practice-view__error{color:#f0a0a8;margin:0}.practice-view__tracks-title{color:#e8eef8;margin:0 0 4px;font-size:1rem;font-weight:600}.practice-view__tracks-hint{color:#6b82a8;margin:0 0 12px;font-size:.8rem}.midi-transport{flex-direction:column;gap:14px;display:flex}.midi-transport__buttons{gap:8px;display:flex}.midi-transport__btn{color:#e8eef8;cursor:pointer;background:#1d2d4d;border:1px solid #2e4268;border-radius:10px;width:44px;height:44px;padding:0;font-size:1rem;transition:background .15s}.midi-transport__btn--active{border-color:var(--sf-border-focus);background:#263a5e}.midi-transport__btn:hover:not(:disabled){background:#263a5e}.midi-transport__btn:disabled{opacity:.4;cursor:not-allowed}.midi-transport__timeline{align-items:center;gap:12px;display:flex}.midi-transport__time{font-variant-numeric:tabular-nums;color:#9fb3d9;flex-shrink:0;min-width:2.5rem;font-size:.8rem}.midi-transport__seek{accent-color:#6d4aff;cursor:pointer;flex:1;height:4px}.midi-transport__seek:disabled{opacity:.4;cursor:not-allowed}.midi-tracks{flex-direction:column;gap:6px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.midi-tracks__item{margin:0}.midi-tracks__label{cursor:pointer;background:#0d1628;border:1px solid #243552;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:background .12s;display:flex}.midi-tracks__label:hover{background:#141f36}.midi-tracks__name{color:#e8eef8;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.midi-tracks__meta{color:#6b82a8;font-size:.75rem}.midi-tracks__empty{color:#6b82a8;margin:0;font-size:.875rem}.library-panel__midi{margin-top:16px}.library-panel__midi .panel__hint{margin-bottom:14px}.library-panel__musicxml{margin-top:16px}.practice-files__hint--error{color:#e8b4b4}.practice-import-notices{background:#152238d9;border:1px solid #2e4268;border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.practice-import-notices__heading{text-transform:uppercase;letter-spacing:.05em;color:#8fa3c7;margin:0 0 6px;font-size:.72rem;font-weight:600}.practice-import-notices__list,.practice-import-notices__warnings{color:#9fb3d9;margin:0;padding:0 0 0 18px;font-size:.78rem;line-height:1.45}.practice-import-notices__warnings{padding:0;list-style:none}.practice-import-notices__warning{color:#b8c8e8;background:#6d4aff14;border:1px solid #6d4aff33;border-radius:8px;margin:0 0 8px;padding:8px 10px}.practice-import-notices__warning:last-child{margin-bottom:0}.practice-import-notices__warning--strong{color:#e8d4b8;background:#b4783c1a;border-color:#c88c4659}.upload-btn--musicxml{background:linear-gradient(135deg,#2a4a6e 0%,#1e3550 100%)}.musicxml-debug{background:#101c30;border:1px solid #243552;border-radius:16px;flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.musicxml-debug--empty{max-width:none}.musicxml-debug__title{color:#e8eef8;margin:0;font-size:1rem;font-weight:600}.musicxml-debug__subtitle{color:#9fb3d9;margin:4px 0 0;font-size:.9rem}.musicxml-debug__file{color:#6b82a8;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:.8rem;overflow:hidden}.musicxml-debug__hint{color:#6b82a8;margin:8px 0 0;font-size:.875rem;line-height:1.5}.musicxml-debug__sync{color:#9fb3d9;background:#0d1628;border:1px solid #243552;border-radius:8px;margin:6px 0 0;padding:6px 10px;font-size:.8rem;font-weight:500}.musicxml-debug__sync--active{color:#d4c8ff;background:#6d4aff1f;border-color:#5a3fd4}.musicxml-debug__clock{color:#9fb3d9;flex-direction:column;gap:6px;margin:0;font-size:.85rem;display:flex}.musicxml-debug__clock-time{font-variant-numeric:tabular-nums;color:#e8eef8;font-size:.9rem}.musicxml-debug__status{color:#8fa3c7;margin:0}.musicxml-debug__error{color:#f0a0a8;margin:0}.musicxml-debug__stats{grid-template-columns:repeat(2,1fr);gap:12px;margin:0;display:grid}.musicxml-debug__stats>div{background:#0d1628;border:1px solid #243552;border-radius:10px;padding:10px 12px}.musicxml-debug__stats dt{color:#6b82a8;margin:0 0 4px;font-size:.75rem}.musicxml-debug__stats dd{color:#e8eef8;font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:600}.musicxml-debug__scrub{color:#9fb3d9;flex-direction:column;gap:8px;font-size:.85rem;display:flex}.musicxml-debug__scrub input{accent-color:#6d4aff;width:100%}.musicxml-debug__scrub-time{font-variant-numeric:tabular-nums;color:#6b82a8;font-size:.8rem}.musicxml-debug__meta{color:#6b82a8;flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.musicxml-debug__events h4{color:#c5d4ef;margin:0 0 8px;font-size:.85rem;font-weight:600}.musicxml-debug__events ul{flex-direction:column;gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.musicxml-debug__event{background:#0d1628;border-radius:8px;grid-template-columns:3rem 7rem 1fr;gap:8px;padding:6px 8px;font-size:.75rem;display:grid}.musicxml-debug__event-time{color:#6b82a8;font-variant-numeric:tabular-nums}.musicxml-debug__event-type{color:#9fb3d9}.musicxml-debug__event-detail{color:#e8eef8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.musicxml-debug--muted{color:#6b82a8;background:0 0}.alignment-diagnostics{border-top:1px solid #243552;margin-top:8px;padding-top:16px}.alignment-diagnostics__title{color:#c5d4ef;margin:0 0 8px;font-size:.9rem;font-weight:600}.alignment-diagnostics__disclaimer{color:#6b82a8;margin:0 0 10px;font-size:.75rem;line-height:1.45}.alignment-diagnostics__status{color:#8fa3c7;margin:0;font-size:.8rem}.alignment-diagnostics__error{color:#f0a0a8;margin:0;font-size:.8rem}.alignment-diagnostics__verdict{border-radius:8px;margin:0 0 12px;padding:8px 10px;font-size:.8rem;line-height:1.45}.alignment-diagnostics__verdict--ok{color:#b8e6c8;background:#48a06e1f;border:1px solid #48a06e59}.alignment-diagnostics__verdict--caution{color:#e8d4a8;background:#c8a0481f;border:1px solid #c8a04859}.alignment-diagnostics__verdict--warn{color:#f0b8b8;background:#c85a5a1f;border:1px solid #c85a5a59}.alignment-diagnostics__grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:0;display:grid}.alignment-diagnostics__grid>div{background:#0d1628;border:1px solid #243552;border-radius:8px;padding:8px 10px}.alignment-diagnostics__wide{grid-column:1/-1}.alignment-diagnostics__grid dt{color:#6b82a8;margin:0 0 4px;font-size:.7rem}.alignment-diagnostics__grid dd{color:#e8eef8;margin:0;font-size:.8rem;line-height:1.4}.alignment-diagnostics__hint{color:#6b82a8;font-size:.7rem}.practice-empty-state{border-left:2px solid #6d4aff59;padding-left:8px;font-style:italic}.practice-section__title--with-tip{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.practice-section__collapse{pointer-events:none;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .22s;display:grid}.practice-section--collapsible-open>.practice-section__collapse{pointer-events:auto;visibility:visible;grid-template-rows:1fr}.practice-section__collapse-inner{min-height:0;overflow:hidden}.practice-section--collapsible-open>.practice-section__collapse>.practice-section__collapse-inner{padding:0 18px 16px;overflow:visible}.practice-tracks-compact{margin-top:0}.practice-tracks-compact .midi-track-list{margin-top:6px}.practice-safari-audio-notice{background:#b478281f;border:1px solid #dca03c73;border-radius:10px;margin:0 0 10px;padding:10px 12px}.practice-safari-audio-notice__lead{color:#e8d4a8;margin:0 0 6px;font-size:.8rem;line-height:1.45}.practice-safari-audio-notice__list{color:#b8a67a;margin:0;padding-left:1.15rem;font-size:.75rem;line-height:1.45}.practice-safari-audio-notice__list li+li{margin-top:4px}.practice-safari-audio-notice__hint{color:#b8a67a;margin:0;font-size:.75rem;line-height:1.45}.midi-transport__btn--test{min-width:2.25rem;font-size:.95rem}.practice-loop-compact,.practice-loop-compact .practice-loop--compact{gap:10px}.practice-loop--compact .practice-loop__actions{margin-top:2px}.practice-loop--compact .practice-loop__summary{gap:2px}.practice-loop__duration--compact{color:#6b82a8;font-size:.75rem}.practice-loop-compact__hint{margin:0}.practice-loop-compact__more{color:#6b82a8;margin:0;font-size:.7rem;line-height:1.4}.practice-loop-compact__more strong{color:#9fb3d9;font-weight:600}.practice-help-tip{vertical-align:middle;display:inline-flex;position:relative}.practice-help-tip__trigger{color:#9fb3d9;cursor:help;background:#152238;border:1px solid #3d5278;border-radius:50%;width:18px;height:18px;padding:0;font-size:.65rem;font-weight:700;line-height:1}.practice-help-tip__trigger:hover,.practice-help-tip__trigger:focus-visible{color:#e8eef8;border-color:#6d4aff;outline:none;box-shadow:0 0 0 2px #6d4aff59}.practice-help-tip__popover{z-index:20;color:#d8e4f8;text-transform:none;letter-spacing:normal;opacity:0;pointer-events:none;background:#1a2844;border:1px solid #3d5278;border-radius:10px;width:max-content;max-width:240px;padding:10px 12px;font-size:.75rem;font-weight:400;line-height:1.45;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.practice-help-tip:hover .practice-help-tip__popover,.practice-help-tip:focus-within .practice-help-tip__popover{opacity:1}.practice-files__label-row{align-items:center;gap:6px;display:inline-flex}.practice-shortcuts-hint{color:#6b82a8;text-align:center;pointer-events:none;background:#0d162899;border-radius:10px;flex-shrink:0;margin:4px 0 0;padding:10px 12px;font-size:.68rem;line-height:1.5}.practice-shortcuts-hint__touch{display:none}.practice-shortcuts-hint kbd{color:#9fb3d9;background:#152238;border:1px solid #2e4268;border-radius:4px;margin:0 1px;padding:1px 5px;font-family:inherit;font-size:.65rem;display:inline-block}.practice-diagnostics__intro{color:#8fa3c7;margin:0 0 10px;font-size:.78rem;line-height:1.45}.practice-diagnostics__group{background:#0d162880;border:1px solid #2e4268;border-radius:10px;margin-bottom:8px}.practice-diagnostics__group summary{color:#b8c8e8;cursor:pointer;padding:10px 12px;font-size:.82rem;font-weight:600}.practice-diagnostics__group-body{padding:0 12px 12px}.practice-diagnostics__kv{grid-template-columns:1fr 1fr;gap:8px;margin:0;font-size:.78rem;display:grid}.practice-diagnostics__kv dt{color:#7a92b8;font-weight:600}.practice-diagnostics__kv dd{color:#e8eef8;margin:0}.practice-position--hero{gap:10px}.practice-position__hero{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.practice-position__hero-stat{text-align:center}.practice-position__hero-label{text-transform:uppercase;letter-spacing:.05em;color:#6b82a8;margin-bottom:4px;font-size:.65rem;font-weight:600;display:block}.practice-position--embedded.practice-position--hero .practice-position__hero-value{font-size:1.35rem}.practice-position__hero-value{font-variant-numeric:tabular-nums;color:#f4f7fc;font-size:1.75rem;font-weight:700;line-height:1}.practice-position--embedded .practice-position__progress-group{gap:var(--sf-space-sm)}.practice-position--embedded .practice-progress__header{font-size:.68rem}.practice-position__hero-divider{background:#2e4268;width:1px;height:36px}.practice-position__hero-meta{text-align:center;color:#8fa3c7;margin:0;font-size:.75rem}.practice-position__progress-group{flex-direction:column;gap:8px;display:flex}.practice-progress__header{color:#8fa3c7;justify-content:space-between;margin-bottom:4px;font-size:.7rem;display:flex}.practice-progress__track{background:#0d1628;border-radius:999px;height:5px;overflow:hidden}.practice-progress__fill{border-radius:inherit;background:linear-gradient(90deg,#5a3fd4,#6d4aff);height:100%;transition:width .18s ease-out}.practice-position--embedded .practice-progress__fill{transition:none}.practice-progress--subtle .practice-progress__fill{background:#3d5278}.wait-for-you__badge--pulse{animation:1.6s ease-in-out infinite wfy-badge-pulse}@keyframes wfy-badge-pulse{0%,to{opacity:1;box-shadow:0 0 #6d4aff66}50%{opacity:.85;box-shadow:0 0 0 6px #6d4aff00}}.wait-for-you__progress-block{flex-direction:column;gap:6px;margin:4px 0 8px;display:flex}.wait-for-you__progress-header{color:#8fa3c7;justify-content:space-between;font-size:.72rem;display:flex}.wait-for-you__progress-track{background:#0d1628;border-radius:999px;height:4px;overflow:hidden}.wait-for-you__progress-fill{border-radius:inherit;background:#6d4aff;height:100%;transition:width .2s ease-out}.wait-for-you__now-playing{background:#0d1628;border:1px solid #2e4268;border-radius:12px;margin:8px 0;padding:12px 14px}.wait-for-you__now-label{text-transform:uppercase;letter-spacing:.05em;color:#6b82a8;margin:0 0 4px;font-size:.65rem}.wait-for-you__now-place{color:#f4f7fc;margin:0 0 10px;font-size:1rem;font-weight:600}.wait-for-you__now-notes{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.wait-for-you__now-notes-label{color:#8fa3c7;font-size:.75rem}.wait-for-you__note-chips{flex-wrap:wrap;gap:6px;display:flex}.wait-for-you__note-chip{color:#e8dcff;background:#6d4aff40;border:1px solid #6d4aff73;border-radius:8px;padding:6px 12px;font-size:1.1rem;font-weight:700}.practice-fullscreen-hud{z-index:12;align-items:stretch;gap:var(--sf-space-sm);width:min(92vw,520px);padding:var(--sf-space-md) var(--sf-space-lg) var(--sf-space-sm);border-radius:var(--sf-radius-lg);background:var(--sf-bg-overlay);border:1px solid var(--sf-border-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;opacity:0;flex-direction:column;transition:opacity .28s,transform .28s;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%)translateY(12px);box-shadow:0 8px 32px #00000059}.practice-fullscreen-hud--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.practice-fullscreen-hud__timeline{border-radius:var(--sf-radius-pill);background:var(--sf-border-muted);height:4px;overflow:hidden}.practice-fullscreen-hud__timeline-fill{border-radius:inherit;background:linear-gradient(90deg, #456a9a, var(--sf-accent));height:100%;transition:width .12s linear}.practice-fullscreen-hud__row{align-items:center;gap:var(--sf-space-md);flex-wrap:wrap;display:flex}.practice-fullscreen-hud__position{flex-direction:column;gap:2px;display:flex}.practice-fullscreen-hud__label{font-size:var(--sf-font-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--sf-text-disabled)}.practice-fullscreen-hud__value{font-size:var(--sf-font-body);color:var(--sf-text-primary);white-space:nowrap;font-weight:600}.practice-fullscreen-hud__play{background:var(--sf-accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:50%;flex-shrink:0;width:42px;height:42px;font-size:.9rem}.practice-fullscreen-hud__play:hover:not(:disabled){background:var(--sf-accent-hover)}.practice-fullscreen-hud__pass{color:var(--sf-text-disabled);margin-top:2px;font-size:.65rem;display:block}.practice-fullscreen-hud__hint{text-align:center;color:var(--sf-text-disabled);margin:0;font-size:.65rem;line-height:1.35}.practice-fullscreen-hud__wfy{width:auto;min-height:42px;padding:0 var(--sf-space-lg);border-radius:var(--sf-radius-pill);font-size:var(--sf-font-small);font-weight:600}.practice-fullscreen-hud__wfy-badge{border-radius:var(--sf-radius-pill);font-size:var(--sf-font-caption);color:#f4e8c8;background:#facc152e;border:1px solid #facc1566;padding:5px 11px;font-weight:600;animation:1.6s ease-in-out infinite practice-wfy-pulse}@media (width<=960px){.practice-shortcuts-hint__keys{display:none}.practice-shortcuts-hint__touch{display:block}.practice-control-panel{padding-bottom:max(12px, env(safe-area-inset-bottom,0px))}.practice-fullscreen-hud{bottom:max(48px, env(safe-area-inset-bottom,0px) + 40px);padding:var(--sf-space-md) var(--sf-space-lg);padding-left:max(var(--sf-space-lg), env(safe-area-inset-left,0px));padding-right:max(var(--sf-space-lg), env(safe-area-inset-right,0px));gap:var(--sf-space-md)}.practice-fullscreen-hud__hint{font-size:.6875rem}.practice-section__toggle{min-height:48px}.practice-mode__option{min-height:44px;padding:8px 0}.score-follow-controls__row input[type=checkbox]{width:18px;height:18px}.score-follow-controls__delete{width:36px;height:36px}}.practice-section--dev{border-style:dashed;border-color:#3d5280}.smoke-test-checklist{color:#9fb3d9;margin:0;padding-left:1.2rem;font-size:.8rem;line-height:1.55}.smoke-test-checklist li{margin-bottom:6px}.smoke-test-checklist li:last-child{margin-bottom:0}.practice-control-panel{gap:6px;max-width:32vw;padding:10px}.practice-control-panel__primary,.practice-control-panel__footer,.practice-more{flex-direction:column;gap:8px;display:flex}.practice-status-strip{flex-wrap:wrap;gap:6px;min-height:24px;display:flex}.practice-status-chip{border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);background:var(--sf-bg-panel-inset);width:fit-content;min-height:24px;color:var(--sf-text-muted);white-space:nowrap;align-items:center;padding:3px 9px;font-size:.6875rem;font-weight:500;line-height:1.2;display:inline-flex}.practice-status-chip--ready{color:#b8e6c8;background:#48b4781a;border-color:#48b47861}.practice-status-chip--warning{color:#e8d4a8;background:#dca03c1a;border-color:#dca03c61}.practice-control-panel .practice-section--compact{padding:10px 12px}.practice-control-panel .practice-section--compact .practice-section__title--static{margin-bottom:7px;font-size:.7rem}.practice-section{border-radius:var(--sf-radius-lg)}.practice-section__body--flat{gap:9px}.practice-section__toggle{min-height:42px;padding:10px 12px}.practice-section--collapsible .practice-section__title{font-size:.75rem}.practice-section__summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.6875rem;overflow:hidden}.practice-section__toggle-label{flex-direction:row;align-items:baseline;gap:8px}.practice-section--collapsible-open>.practice-section__collapse>.practice-section__collapse-inner{padding:0 12px 12px}.practice-transport .practice-section__title--static{margin-bottom:5px}.practice-playback-settings{flex-direction:column;gap:8px;display:flex}.practice-playback-settings__row{grid-template-columns:minmax(92px,auto) 1fr;align-items:center;gap:10px;display:grid}.practice-playback-settings__label{color:var(--sf-text-secondary);font-size:var(--sf-font-small);flex-direction:column;gap:1px;font-weight:500;display:flex}.practice-playback-settings__label span{color:var(--sf-text-faint);font-size:var(--sf-font-caption);font-weight:400}.practice-playback-settings__row input[type=range]{width:100%;min-width:0;accent-color:var(--sf-accent)}.practice-playback-settings__row--metronome{grid-template-columns:auto 1fr}.practice-playback-settings__check{color:var(--sf-text-muted);font-size:var(--sf-font-caption);align-items:center;gap:6px;display:inline-flex}.midi-transport{gap:9px}.midi-transport__buttons{gap:6px}.midi-transport__btn{border-radius:var(--sf-radius-md);width:38px;height:38px}.midi-transport__timeline{gap:8px}.midi-transport__time{min-width:2.25rem;font-size:.72rem}.practice-mode__options{border:1px solid var(--sf-border);border-radius:var(--sf-radius-md);background:var(--sf-bg-panel-inset);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.practice-mode__option{min-height:34px;color:var(--sf-text-muted);font-size:var(--sf-font-caption);text-align:center;border-radius:7px;justify-content:center;padding:6px 8px;position:relative}.practice-mode__option--selected{color:var(--sf-text-primary);background:#263a5e}.practice-mode__option input{opacity:0;pointer-events:none;position:absolute}.practice-mode__option:has(input:focus-visible){outline:2px solid var(--sf-border-focus);outline-offset:1px}.practice-loop-compact{gap:7px}.practice-loop-compact .practice-section__header-row{margin-bottom:4px}.practice-loop--compact{gap:7px}.practice-loop--embedded{background:0 0;border:0;border-radius:0;padding:0}.practice-loop__options{color:var(--sf-text-faint);font-size:var(--sf-font-caption)}.practice-loop__options summary{cursor:pointer;width:fit-content}.practice-loop__options .practice-loop__snap{margin:7px 0 2px;padding-left:2px}.practice-loop--compact .practice-loop__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.practice-loop--compact .practice-loop__btn{width:100%;min-width:0;height:32px;padding:0 6px;font-size:.72rem}.practice-loop__range{font-size:.8rem}.practice-section--collapsible .practice-section--position-focus{background:0 0;border:0;border-radius:0;padding:0}.practice-section--position-focus .practice-position__hero-value,.practice-position--embedded.practice-position--hero .practice-position__hero-value{font-size:1.15rem}.practice-position__hero-divider{height:28px}.practice-position__progress-group{gap:5px}.practice-position__controls,.measure-nav--embedded{gap:6px}.practice-position__btn,.measure-nav__btn{height:32px;padding:0 9px;font-size:.72rem}.measure-nav--embedded{padding-top:7px}.wait-for-you{flex-direction:column;gap:8px;display:flex}.wait-for-you__header{margin-bottom:0}.wait-for-you__badge{padding:3px 8px;font-size:.6875rem}.wfy-input-source{margin:0;padding:8px}.wfy-input-source__label{margin:0 0 6px}.wfy-input-source__options{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.wfy-input-source__option{background:var(--sf-bg-panel-inset);text-align:center;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;min-height:32px;padding:5px;font-size:.7rem;position:relative}.wfy-input-source__option--selected{border-color:var(--sf-border-focus);background:#263a5e}.wfy-input-source__option input{opacity:0;pointer-events:none;position:absolute}.wait-for-you__checkpoint-mode{gap:7px 10px;margin:0}.wait-for-you__checkpoint-mode-label{font-size:.6875rem}.wait-for-you__checkpoint-mode-option{font-size:.75rem}.wait-for-you__status,.wait-for-you__listening,.wait-for-you__note-target-status{border:1px solid var(--sf-border);border-radius:var(--sf-radius-pill);background:var(--sf-bg-panel-inset);width:fit-content;color:var(--sf-text-muted);margin:0;padding:4px 9px;font-size:.6875rem;line-height:1.3}.wait-for-you__progress-block{gap:4px;margin:0}.wait-for-you__now-playing{border-radius:var(--sf-radius-md);margin:0;padding:9px 10px}.wait-for-you__now-place{margin-bottom:6px;font-size:.85rem}.wait-for-you__note-chip{padding:4px 9px;font-size:.95rem}.wait-for-you__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.wait-for-you__btn{width:100%;min-height:34px;padding:0 8px;font-size:.72rem}.practice-input-status__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.practice-input-status__header .practice-section__title--static{margin:0}.mic-input-status__heard{margin:0;padding:6px 8px;font-size:.75rem}.mic-input-status__actions,.midi-input-status__actions{margin-top:7px}.practice-input-details{color:var(--sf-text-faint);font-size:var(--sf-font-caption);margin-top:7px}.practice-input-details summary{cursor:pointer}.practice-input-details[open]{border-top:1px solid var(--sf-border-muted);padding-top:6px}.practice-input-details>:not(summary){margin-top:8px}.practice-more .practice-files,.practice-more .practice-import-notices,.practice-more .practice-section{border-radius:var(--sf-radius-md)}.practice-shortcuts-hint{border:1px solid var(--sf-border-muted);background:0 0;margin:0;padding:8px}.score-follow-setup-status{max-width:min(86%,280px);min-height:26px;padding:4px 10px;font-size:.6875rem}@media (width<=1100px){.practice-workspace__layout{flex-direction:column;overflow:hidden}.practice-workspace__score{flex:auto;min-height:56vh;overflow-y:auto}.practice-control-panel{border-top:1px solid var(--sf-border);border-left:0;flex:none;width:100%;max-width:none;height:auto;max-height:46vh;position:relative;top:auto}.practice-control-panel__primary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.practice-transport,.practice-control-panel__primary>.practice-section--collapsible{grid-column:1/-1}.practice-control-panel__footer{background:0 0;margin:0;padding:0;position:static}}@media (width<=700px){.practice-workspace__score{min-height:54vh}.practice-control-panel{max-height:46vh;padding:10px}.practice-control-panel__primary{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-transport,.practice-control-panel__primary>.practice-section--collapsible{grid-column:1/-1}.practice-mode__option{min-height:38px;padding:7px 5px}.wait-for-you__actions{grid-template-columns:1fr 1fr}.wait-for-you__btn--primary{grid-area:1/1/auto/-1}}@media (width<=360px){.practice-control-panel__primary{grid-template-columns:1fr}.practice-transport,.practice-control-panel__primary>.practice-section--collapsible{grid-column:auto}}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:100;height:var(--sf-topbar-height);padding:0 var(--sf-space-3xl);background:var(--sf-bg-topbar);border-bottom:1px solid var(--sf-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.topbar__title{font-size:var(--sf-font-title);letter-spacing:-.02em;color:var(--sf-text-primary);margin:0;font-weight:600;display:block}.topbar__brand,.topbar__actions{align-items:center;display:flex}.topbar__brand{gap:var(--sf-space-md)}.topbar__brand-btn{cursor:pointer;text-align:left;font:inherit;color:inherit;align-items:center;gap:var(--sf-space-md);background:0 0;border:none;margin:0;padding:0;text-decoration:none;display:inline-flex}.topbar__brand-btn:hover .topbar__title{color:var(--sf-text-primary)}.topbar__brand-btn:focus-visible{outline:2px solid var(--sf-accent);outline-offset:3px;border-radius:var(--sf-radius-sm)}.topbar__beta{border-radius:var(--sf-radius-pill);color:#b8f0d0;letter-spacing:.03em;white-space:nowrap;background:#488c641f;border:1px solid #74c8a04d;padding:4px 9px;font-size:.68rem;font-weight:600}.topbar__actions{gap:var(--sf-space-lg)}.topbar__nav{gap:var(--sf-space-md);display:flex}.topbar__nav-btn{color:var(--sf-text-muted);padding:10px var(--sf-space-xl);border-radius:var(--sf-radius-md);cursor:pointer;background:0 0;border:1px solid #0000}.topbar__nav-btn:hover{color:var(--sf-text-secondary);background:#1a2844}.topbar__nav-btn--active{color:var(--sf-text-primary);border-color:var(--sf-border-strong);background:#1d2d4d}.topbar__feedback{min-height:36px;color:var(--sf-text-muted);font-size:var(--sf-font-small);align-items:center;padding:7px 0;text-decoration:none;display:inline-flex}.topbar__feedback:hover{color:var(--sf-text-primary)}.main-layout{--sf-library-preview-height:clamp(360px, calc(100vh - var(--sf-topbar-height) - 48px), 680px);height:var(--sf-library-preview-height);max-height:var(--sf-library-preview-height);flex:1;align-items:stretch;min-width:0;min-height:0;transition:gap .25s;display:flex;overflow:hidden}.session-restore-banner+.main-layout{--sf-library-preview-height:clamp(360px, calc(100vh - var(--sf-topbar-height) - 96px), 680px)}.library-welcome-wrap+.main-layout{--sf-library-preview-height:clamp(340px, calc(100vh - var(--sf-topbar-height) - 360px), 520px)}.library-welcome-wrap+.app-footer{margin-top:auto}.main-layout__score{-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.main-layout--sidebar-hidden .library-panel{opacity:0;pointer-events:none;border:none;width:0;padding:0;overflow:hidden}.main-layout--sidebar-hidden .main-layout__score{justify-content:center}.main-layout--empty-score .main-layout__score{opacity:.88}.library-panel{width:var(--sf-sidebar-width);padding:var(--sf-space-xl) var(--sf-space-lg) var(--sf-space-3xl);border-right:1px solid var(--sf-border);background:var(--sf-bg-raised);flex-shrink:0;transition:width .25s,padding .25s,opacity .25s;overflow:hidden auto}.library-panel__hero{margin-bottom:16px}.library-panel__tagline{color:#f4f7fc;margin:0 0 6px;font-size:1.05rem;font-weight:600;line-height:1.35}.library-panel__hero-hint{color:#8fa3c7;margin:0;font-size:.78rem;line-height:1.45}.library-panel__browser-hint{color:#7a92b8;margin:8px 0 0;font-size:.74rem;line-height:1.45}.demo-piece{gap:var(--sf-space-md) var(--sf-space-xl);padding:var(--sf-space-lg);border-radius:var(--sf-radius-lg);background:#488c6414;border:1px solid #488c6459;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.demo-piece--compact{margin:0 0 var(--sf-space-lg);padding:var(--sf-space-md);display:block}.demo-piece__badge{margin:0 0 var(--sf-space-xs);color:#9bd9b7;letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:700;display:inline-block}.demo-piece__title{color:var(--sf-text-primary);font-size:var(--sf-font-section);margin:0;font-weight:600}.demo-piece__subtitle,.demo-piece__credit{margin:var(--sf-space-xs) 0 0;color:var(--sf-text-muted);font-size:var(--sf-font-caption);line-height:1.4}.demo-piece__action{text-align:right;min-width:136px}.demo-piece__button{width:100%;padding:9px var(--sf-space-lg);border-radius:var(--sf-radius-md);color:#fff;font-size:var(--sf-font-small);cursor:pointer;background:#2d6b52;border:1px solid #74c8a061;font-weight:600}.demo-piece__button:hover:not(:disabled){filter:brightness(1.08)}.demo-piece__button:disabled{opacity:.65;cursor:wait}.demo-piece__error{color:#f0a0a8;font-size:var(--sf-font-caption);grid-column:1/-1;margin:0}.demo-piece--compact .demo-piece__action{min-width:0;margin-top:var(--sf-space-md);text-align:left}.demo-piece--compact .demo-piece__credit{margin-top:var(--sf-space-sm)}.library-panel .panel{margin-bottom:14px}.library-panel__upload-card:last-of-type{margin-bottom:0}.panel__step-badge{color:#d4c8ff;vertical-align:middle;background:#6d4aff40;border-radius:6px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;margin-right:6px;font-size:.75rem;font-weight:700;display:inline-flex}.panel__optional{color:#8fa3c7;font-size:.8rem;font-weight:500}.panel--sample,.library-sample{margin-bottom:var(--sf-space-lg);background:var(--sf-bg-panel);border-color:#488c7859}.library-sample__badge{letter-spacing:.04em;text-transform:uppercase;color:#b8f0d0;background:#488c6433;border-radius:6px;margin:0 0 6px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.library-sample__features{color:#9fb3d9;margin:0 0 12px;padding-left:18px;font-size:.78rem;line-height:1.5}.library-sample__credit{color:#6b82a8;margin:10px 0 0;font-size:.68rem;line-height:1.4}.upload-btn--sample{background:linear-gradient(135deg,#3d8a6a,#2d6b52);border:none;width:100%;font-size:.95rem}.upload-btn--sample:hover:not(:disabled){filter:brightness(1.08)}.library-panel__step-num{color:#c8b8ff;vertical-align:middle;background:#6d4aff33;border-radius:50%;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-right:8px;font-size:.7rem;font-weight:700;display:inline-flex}.library-panel--hidden{opacity:0}.panel{background:var(--sf-bg-panel);border:1px solid var(--sf-border);border-radius:var(--sf-radius-xl);padding:var(--sf-space-2xl) var(--sf-space-xl)}.panel__title{margin:0 0 var(--sf-space-sm);font-size:var(--sf-font-heading);color:var(--sf-text-primary);font-weight:600}.panel__hint{margin:0 0 var(--sf-space-xl);font-size:var(--sf-font-body);color:var(--sf-text-subtle);line-height:1.5}.upload-btn{padding:14px var(--sf-space-xl);border-radius:var(--sf-radius-lg);background:linear-gradient(135deg, var(--sf-accent), #5a3de0);color:#fff;text-align:center;cursor:pointer;font-weight:600;display:block}.upload-btn:hover{filter:brightness(1.08)}.upload-btn--midi{background:linear-gradient(135deg,#3b82c4,#2563eb)}.multi-upload{margin-bottom:var(--sf-space-xl)}.multi-upload__dropzone{align-items:center;gap:var(--sf-space-xs);width:100%;padding:var(--sf-space-2xl) var(--sf-space-xl);border:2px dashed var(--sf-border-strong);border-radius:var(--sf-radius-xl);background:var(--sf-bg-panel-inset);color:var(--sf-text-body);cursor:pointer;transition:border-color var(--sf-duration) var(--sf-ease), background var(--sf-duration) var(--sf-ease);flex-direction:column;display:flex}.multi-upload__dropzone:hover:not(:disabled),.multi-upload__dropzone--over{border-color:var(--sf-accent);background:var(--sf-accent-muted)}.multi-upload__dropzone:focus-visible{box-shadow:var(--sf-focus-ring);outline:none}.multi-upload__dropzone:disabled{opacity:.55;cursor:not-allowed}.multi-upload__title{font-size:var(--sf-font-heading);color:var(--sf-text-primary);font-weight:600}.multi-upload__hint{font-size:var(--sf-font-small);color:var(--sf-text-muted)}.multi-upload__cta{margin-top:var(--sf-space-sm);padding:var(--sf-space-sm) var(--sf-space-xl);border-radius:var(--sf-radius-pill);background:linear-gradient(135deg, var(--sf-accent), #5a3de0);color:#fff;font-size:var(--sf-font-small);font-weight:600}.multi-upload__status{gap:var(--sf-space-sm);margin:var(--sf-space-md) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.multi-upload__chip{padding:2px var(--sf-space-md);border:1px solid var(--sf-border-muted);border-radius:var(--sf-radius-pill);background:var(--sf-bg-panel);font-size:var(--sf-font-caption);color:var(--sf-text-muted)}.multi-upload__chip--ready{border-color:var(--sf-accent-green);color:var(--sf-text-secondary)}.multi-upload__notices{margin:var(--sf-space-sm) 0 0;padding-left:var(--sf-space-lg);font-size:var(--sf-font-caption);color:var(--sf-text-muted)}.library-panel__advanced{margin-top:var(--sf-space-md)}.library-panel__advanced-summary{cursor:pointer;font-size:var(--sf-font-small);color:var(--sf-text-muted);padding:var(--sf-space-xs) 0}.panel--dev{margin-top:var(--sf-space-lg);border-color:var(--sf-border);background:var(--sf-bg-panel-inset)}.upload-btn--dev{border:1px solid var(--sf-border-strong);width:100%;font-size:var(--sf-font-body);background:var(--sf-bg-panel);color:var(--sf-text-muted)}.upload-btn--dev:hover:not(:disabled){filter:none;color:var(--sf-text-secondary);border-color:var(--sf-border-focus);background:#152238}.upload-btn--dev:disabled{opacity:.6;cursor:wait}.panel__error{color:#f0a0a8;margin:12px 0 0;font-size:.85rem}.library-panel__file{color:#c5d4ef;text-overflow:ellipsis;white-space:nowrap;background:#0d1628;border-radius:10px;margin:16px 0 0;padding:12px 14px;font-size:.875rem;overflow:hidden}.library-panel__empty{color:#6b82a8;margin:16px 0 0;font-size:.875rem;line-height:1.45}.library-accuracy-guide{background:#1a263ed9;border:1px solid #334a72;border-radius:12px;margin-bottom:14px;padding:10px 12px}.library-accuracy-guide__status{color:#c8d6f0;margin:0;font-size:.8rem;line-height:1.45}.library-accuracy-guide__status strong{color:#e8eef8}.library-accuracy-guide__status-detail{color:#9fb3d9;font-weight:400}.library-accuracy-guide__status--good strong{color:#b8f0d0}.library-accuracy-guide__more{margin-top:8px}.library-accuracy-guide__more summary{color:#8fa3c7;cursor:pointer;font-size:.75rem;font-weight:600}.library-accuracy-guide__body{border-top:1px solid #2e4268;margin-top:10px;padding-top:10px}.library-accuracy-guide__intro{color:#b8c8e8;margin:0 0 10px;font-size:.78rem;line-height:1.45}.library-accuracy-guide__current{background:#15223899;border:1px solid #2e4268;border-radius:8px;flex-direction:column;gap:4px;margin:0 0 12px;padding:8px 10px;display:flex}.library-accuracy-guide__current--good{background:#488c6414;border-color:#488c6473}.library-accuracy-guide__current--basic,.library-accuracy-guide__current--partial{background:#c8a0500f;border-color:#c8a05059}.library-accuracy-guide__current-label{color:#d4e0f4;font-size:.78rem;font-weight:600}.library-accuracy-guide__current-detail{color:#9fb3d9;font-size:.75rem;line-height:1.4}.library-accuracy-guide__tiers{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.library-accuracy-guide__tier{border:1px solid #0000;border-radius:8px;padding:8px 10px}.library-accuracy-guide__tier--active{background:#6d4aff14;border-color:#6d4aff59}.library-accuracy-guide__tier-label{color:#c8d4e8;margin:0;font-size:.72rem;font-weight:600}.library-accuracy-guide__tier-summary{color:#9fb3d9;margin:2px 0 0;font-size:.78rem}.library-accuracy-guide__tier-detail{color:#7a92b8;margin:4px 0 0;font-size:.72rem;line-height:1.4}.library-accuracy-guide__roles{color:#8fa3c7;margin:0;font-size:.72rem;line-height:1.45}.library-accuracy-guide__roles div{margin-bottom:6px}.library-accuracy-guide__roles dt{color:#9fb3d9;font-weight:600}.library-accuracy-guide__roles dd{margin:2px 0 0}.library-panel__workflow{background:#152238e6;border:1px solid #2e4268;border-radius:12px;margin-bottom:16px;padding:12px 14px}.library-panel__workflow-lead{color:#9fb3d9;margin:0 0 10px;font-size:.78rem;line-height:1.45}.library-panel__workflow-title{text-transform:uppercase;letter-spacing:.05em;color:#8fa3c7;margin:0 0 10px;font-size:.72rem;font-weight:600}.library-panel__workflow-steps{color:#b8c8e8;margin:0;padding:0 0 0 20px;font-size:.82rem;line-height:1.5}.library-panel__workflow-steps li{margin-bottom:6px}.library-panel__workflow-step--done{color:#9fd4b0}.library-panel__open-practice{border-top:1px solid #2e4268;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.library-panel__open-practice-text{color:#8fa3c7;margin:0;font-size:.8rem;line-height:1.45}.upload-btn--practice{text-align:center;background:linear-gradient(135deg,#5a3fd4,#6d4aff);border-color:#6d4aff;width:100%}.upload-btn--practice:hover{filter:brightness(1.06)}.library-panel__workflow-next{color:#9fb3d9;border-top:1px solid #243552;margin:10px 0 0;padding-top:10px;font-size:.8rem;line-height:1.45}.library-panel__feedback{border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:.8rem;line-height:1.45}.library-panel__feedback--success{color:#c8e6d4;background:#488c6426;border:1px solid #488c6459}.library-panel__feedback--info{color:#c8d4e8;background:#6d4aff1a;border:1px solid #6d4aff40}.library-panel__feedback--error{color:#f5c8c8;background:#b446461f;border:1px solid #b4464659}.viewer-float-toolbar{z-index:25;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.viewer-float-toolbar__bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;opacity:0;background:#0d1628eb;border:1px solid #2e4268;border-radius:12px;align-items:center;gap:2px;padding:4px 6px;transition:opacity .28s,transform .28s;display:flex;transform:translateY(-8px);box-shadow:0 8px 28px #00000073}.viewer-float-toolbar--visible .viewer-float-toolbar__bar,.viewer-float-toolbar--embedded .viewer-float-toolbar__bar{opacity:1;transform:translateY(0)}.viewer-float-toolbar__page{color:#9fb3d9;text-align:center;font-variant-numeric:tabular-nums;min-width:2.5rem;padding:0 4px;font-size:.75rem;font-weight:600}.viewer-float-toolbar__sep{background:#2e4268;flex-shrink:0;width:1px;height:20px;margin:0 2px}.viewer-float-toolbar__hint{color:#5a7094;opacity:0;font-size:.65rem;transition:opacity .28s}.viewer-float-toolbar--visible .viewer-float-toolbar__hint{opacity:1}.tb-icon{color:#c5d4ef;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .15s,color .15s,transform .12s;display:inline-flex}.tb-icon:hover:not(:disabled){color:#f4f7fc;background:#1a2844}.tb-icon:disabled{opacity:.35;cursor:not-allowed}.tb-icon--active{color:#f4f7fc;background:#263a5e;box-shadow:inset 0 0 0 1px #4a628f}.tb-icon__glyph{font-size:.95rem;line-height:1}.tb-popover{position:relative}.tb-popover__panel{z-index:30;background:#0d1628f7;border:1px solid #2e4268;border-radius:10px;min-width:140px;padding:6px;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 10px 32px #00000080}.tb-popover__panel[hidden]{display:none}.tb-menu{flex-direction:column;gap:2px;display:flex}.tb-menu__item{color:#c5d4ef;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;width:100%;padding:8px 12px;font-size:.8rem;transition:background .12s}.tb-menu__item:hover:not(:disabled){background:#1a2844}.tb-menu__item--active{color:#f4f7fc;background:#263a5e}.tb-menu__item:disabled{opacity:.4;cursor:not-allowed}.ann-settings--compact{flex-direction:column;align-items:stretch;gap:8px;min-width:200px}.ann-settings--compact .ann-settings__slider{max-width:none}.annotation-toolbar{background:#0d1628;border:1px solid #243552;border-radius:12px;padding:8px 12px}.annotation-toolbar__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.annotation-toolbar__tools{flex-shrink:0;gap:4px;display:flex}.annotation-toolbar__actions{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.ann-settings{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.ann-settings__colors{align-items:center;gap:5px;display:flex}.ann-settings__swatch{cursor:pointer;border:2px solid #2e4268;border-radius:50%;flex-shrink:0;width:22px;height:22px;padding:0;transition:transform .12s,border-color .12s}.ann-settings__swatch:hover:not(:disabled){transform:scale(1.08)}.ann-settings__swatch--active{border-color:#8fa3c7;box-shadow:0 0 0 2px #6d4aff}.ann-settings__slider{flex:1;align-items:center;gap:8px;min-width:120px;max-width:180px;display:flex}.ann-settings__slider-label{color:#7a92b8;white-space:nowrap;min-width:2.75rem;font-size:.75rem}.ann-settings__slider input[type=range]{accent-color:#6d4aff;cursor:pointer;flex:1;height:4px}.ann-settings__slider input[type=range]:disabled{opacity:.4;cursor:not-allowed}.annotation-toolbar__btn{color:#9fb3d9;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 12px;font-size:.85rem;transition:background .15s,color .15s,border-color .15s}.annotation-toolbar__btn:hover:not(:disabled){color:#e8eef8;background:#1a2844}.annotation-toolbar__btn--active{color:#f4f7fc;background:#263a5e;border-color:#3d5280}.annotation-toolbar__btn--muted{color:#7a92b8}.annotation-toolbar__divider{background:#2e4268;width:1px;height:22px;margin:0 4px}.pdf-page-frame{contain:layout style;line-height:0;display:inline-flex;position:relative}.pdf-page-window{line-height:0;display:inline-flex;position:relative}.pdf-page-window__slot--active{position:relative}.pdf-page-window__slot--warm,.pdf-page-preload{clip:rect(0, 0, 0, 0);white-space:nowrap;pointer-events:none;visibility:hidden;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.annotation-layer{z-index:2;touch-action:none;cursor:crosshair;position:absolute}.annotation-layer--eraser{cursor:cell}.brush-cursor{pointer-events:none;z-index:2000;border:2px solid #ffffffa6;border-radius:50%;transition:width 80ms,height 80ms;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000059}.brush-cursor--highlighter{background:#facc1533;border-color:#facc15b3}.brush-cursor--eraser{background:#ffffff1f;border-style:dashed}.pdf-viewer-section{flex-direction:column;flex:1;min-width:0;min-height:0;padding:8px;display:flex;position:relative}.pdf-viewer-section--practice .sidebar-toggle{display:none}.pdf-viewer-section--library,.pdf-viewer-section--practice{flex-direction:column;flex:auto;min-width:0;min-height:100%;padding:8px;display:flex;overflow:visible}.pdf-viewer-section--library{height:100%;min-height:0;max-height:100%;overflow:hidden}.pdf-viewer-section--empty .pdf-canvas{background:radial-gradient(circle,#6d4aff14,#0000 34%),#101c30;border-style:dashed}.pdf-viewer-section--library .pdf-viewer-stage,.pdf-viewer-section--practice .pdf-viewer-stage{flex-direction:column;flex:1;gap:0;min-width:0;min-height:0;display:flex;position:relative}.pdf-viewer-section--practice .pdf-viewer-stage{padding-top:52px}.pdf-viewer-section--library .pdf-viewer-body,.pdf-viewer-section--practice .pdf-viewer-body{flex:1;min-width:0;min-height:0}.pdf-viewer-section--library .pdf-viewer-body{max-height:100%}.pdf-viewer-section--library .pdf-canvas,.pdf-viewer-section--practice .pdf-canvas{flex:1;width:100%;min-width:0;min-height:0}.pdf-viewer-section--library .pdf-canvas{max-height:100%}.pdf-viewer-section--library .pdf-canvas--fit-width,.pdf-viewer-section--practice .pdf-canvas--fit-width{align-items:flex-start;overflow:auto}.pdf-viewer-stage{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex;position:relative}.pdf-viewer-body{flex-direction:row;flex:1;gap:8px;min-width:0;min-height:0;display:flex}.sidebar-toggle{z-index:5;color:#dce8ff;cursor:pointer;background:#243a62;border:1px solid #3d5a82;border-radius:0 10px 10px 0;width:30px;height:52px;padding:0;font-size:.8rem;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);box-shadow:0 2px 10px #00000059}.sidebar-toggle:hover{color:#f4f8ff;background:#2f4a75;border-color:#5a7eb0}.sidebar-toggle--expand{color:#fff;background:#2d4a78;border-color:#7ba3d4 #7ba3d4 #7ba3d4 #9ec0ef;border-left-style:solid;border-left-width:3px;width:40px;height:64px;font-size:1rem;box-shadow:0 3px 16px #00000080,inset 0 0 0 1px #ffffff1a}.sidebar-toggle--expand:hover{color:#fff;background:#3a5d90;border-color:#9ec0ef}.sidebar-toggle:focus-visible{outline-offset:2px;outline:2px solid #8aaee0}.viewer-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.viewer-toolbar button{color:#e8eef8;cursor:pointer;background:#1d2d4d;border:1px solid #2e4268;border-radius:10px;padding:10px 16px;transition:background .15s,opacity .15s}.viewer-toolbar button:hover:not(:disabled){background:#263a5e}.viewer-toolbar button:disabled{opacity:.4;cursor:not-allowed}.viewer-toolbar__page{color:#9fb3d9;margin-left:4px;font-size:.9rem}.viewer-toolbar__fit-group{background:#0d1628;border:1px solid #2e4268;border-radius:10px;gap:4px;margin-left:auto;padding:4px;display:flex}.viewer-toolbar__fit-btn{color:#9fb3d9;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 14px}.viewer-toolbar__fit-btn:hover:not(:disabled){color:#e8eef8;background:#1a2844}.viewer-toolbar__fit-btn--active{color:#f4f7fc;background:#263a5e}.viewer-toolbar__fullscreen{margin-left:8px}.pdf-canvas{background:#101c30;border:1px solid #243552;border-radius:12px;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:8px;transition:background .3s,border-color .3s;display:flex;overflow:hidden}.pdf-canvas--paper-light{background:#e8e4dc;border-color:#c9c4b8}.pdf-canvas--paper-light .pdf-canvas__placeholder,.pdf-canvas--paper-light .pdf-canvas__status{color:#5c5348}.pdf-fullscreen__stage.pdf-canvas--paper-light{background:#e8e4dc}.pdf-canvas--fit-width{align-items:flex-start;overflow:auto}.pdf-canvas__placeholder,.pdf-canvas__status{color:#8fa3c7;text-align:center;max-width:28rem;margin:auto;font-size:1.05rem;line-height:1.5}.pdf-canvas__status--error{color:#f0a0a8}.pdf-canvas .react-pdf__Document{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.pdf-canvas .react-pdf__Page{border-radius:4px;overflow:hidden;box-shadow:0 12px 40px #00000073}.pdf-canvas .react-pdf__Page canvas{display:block}.pdf-fullscreen{z-index:1000;background:var(--sf-bg-app);flex-direction:column;display:flex;position:fixed;inset:0}.pdf-fullscreen .viewer-float-toolbar{top:14px}.pdf-fullscreen__page{color:#9fb3d9;font-size:.95rem}.pdf-fullscreen__close{background:var(--sf-bg-panel);border:1px solid var(--sf-border-strong);color:var(--sf-text-secondary);border-radius:var(--sf-radius-md);font-size:var(--sf-font-small);cursor:pointer;padding:9px 18px;font-weight:500}.pdf-fullscreen__close:hover{border-color:var(--sf-border-focus);background:#1a2844}.pdf-fullscreen__stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.pdf-fullscreen__stage .react-pdf__Document{justify-content:center;align-items:center;display:flex}.pdf-fullscreen__stage .react-pdf__Page{border-radius:4px;overflow:hidden;box-shadow:0 16px 48px #0009}.pdf-fullscreen__zone{cursor:pointer;z-index:1;background:0 0;border:none;width:38%;padding:0;position:absolute;top:0;bottom:0}.pdf-fullscreen__zone--left{left:0}.pdf-fullscreen__zone--right{right:0}.pdf-fullscreen__zone:disabled{cursor:default}.pdf-fullscreen__zone:not(:disabled):hover{background:#ffffff08}.pdf-fullscreen__status{color:#8fa3c7}.pdf-fullscreen__hint{text-align:center;color:#5a7094;opacity:0;pointer-events:none;background:#0f1a2ed9;border-radius:8px;margin:0;padding:8px 14px;font-size:.8rem;transition:opacity .28s,transform .28s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)translateY(8px)}.pdf-fullscreen__hint--visible{opacity:1;transform:translate(-50%)translateY(0)}.pdf-fullscreen__chrome-zone{z-index:22;pointer-events:auto;touch-action:manipulation;background:0 0;position:absolute}.pdf-fullscreen__chrome-zone--top{width:min(100vw - 40px,720px);height:56px;top:0;left:50%;transform:translate(-50%)}.pdf-fullscreen__chrome-zone--bottom{width:min(92vw,520px);height:92px;bottom:0;left:50%;transform:translate(-50%)}.pdf-fullscreen__chrome-reveal{z-index:24;border-radius:var(--sf-radius-pill);border:1px solid var(--sf-border-strong);background:var(--sf-bg-overlay);color:var(--sf-text-muted);font-size:var(--sf-font-caption);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:6px;padding:7px 14px;font-weight:500;transition:opacity .2s,border-color .15s,color .15s;display:inline-flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.pdf-fullscreen__chrome-reveal:hover{color:var(--sf-text-secondary);border-color:var(--sf-border-focus)}.pdf-fullscreen__chrome-reveal-icon{font-size:.85rem;line-height:1}@media (width<=900px){.library-panel{width:260px;padding:16px}.pdf-viewer-section{padding:6px}.viewer-float-toolbar__bar{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 48px)}}@media (width<=640px){.main-layout{height:auto;max-height:none;display:block;overflow:visible}.main-layout--sidebar-hidden .library-panel{display:none}.library-panel{border-right:0;border-bottom:1px solid var(--sf-border);width:100%}.main-layout__score{height:clamp(420px,68vh,560px);min-height:420px;overflow:hidden}.main-layout--empty-score .main-layout__score{height:150px;min-height:150px}.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:92px;padding:10px 16px}.topbar__title{font-size:1.2rem}.topbar__actions{justify-content:space-between;gap:8px;width:100%}.topbar__nav{gap:2px}.topbar__nav-btn{padding:7px 10px}.topbar__feedback{padding:7px 0 7px 10px}.viewer-toolbar__fit-group{justify-content:center;width:100%;margin-left:0}}.placeholder-view{flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.placeholder-card{text-align:center;background:#101c30;border:1px solid #243552;border-radius:20px;max-width:420px;padding:40px 44px}.placeholder-card h2{color:#f4f7fc;margin:0 0 12px;font-size:1.5rem;font-weight:600}.placeholder-card p{color:#9fb3d9;margin:0;line-height:1.55}.placeholder-card__note{color:#6b82a8;font-size:.875rem;margin-top:16px!important}.pdf-overlay-stack,.pdf-overlay-layer{overflow:visible}.score-follow-overlay{position:absolute;inset:0;overflow:hidden}.score-follow-overlay--align{cursor:crosshair;outline-offset:-2px;background:#6d4aff14;outline:2px dashed #6d4aff73}.pdf-overlay-layer--disabled{opacity:1}.score-follow-overlay__anchor-marker--align{width:12px;height:12px;margin:-6px 0 0 -6px;box-shadow:0 0 0 2px #6d4aff80}.score-follow-overlay__align-hint{color:#e8eef8;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;background:#142038d9;border-radius:6px;max-width:calc(100% - 16px);margin:0;padding:4px 10px;font-size:.75rem;font-weight:600;position:absolute;bottom:8px;left:50%;overflow:hidden;transform:translate(-50%)}.score-follow-overlay__anchor-marker{pointer-events:none;background:#6d4affe6;border:2px solid #fff;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;box-shadow:0 0 0 1px #00000040}.score-follow-overlay__anchor-marker--auto{background:#38bdf8e6;border-color:#e0f2fef2}.score-follow-overlay__anchor-marker--manual{background:#6d4affe6}.score-follow-overlay__candidate-marker{pointer-events:none;background:#f472b68c;border:1px dashed #be185df2;border-radius:2px;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute}.score-follow-overlay__anchor-marker--align.score-follow-overlay__anchor-marker--auto{width:12px;height:12px;margin:-6px 0 0 -6px}.score-follow-overlay--semi-auto-preview{pointer-events:none}.score-follow-overlay__system-band{box-sizing:border-box;pointer-events:none;background:#38bdf81a;border:1px dashed #38bdf88c;border-radius:4px;position:absolute}.score-follow-overlay__system-band-label{color:#e0f2fe;background:#0c1628bf;border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:600;position:absolute;top:2px;left:4px}.score-follow-overlay__anchor-marker--preview{opacity:.85;width:8px;height:8px;margin:-4px 0 0 -4px}.score-follow-overlay__align-hint--semi-auto{white-space:normal;text-align:center;max-width:90%;line-height:1.35;bottom:12px}.score-follow-overlay__align-hint--system-start{white-space:normal;text-align:center;color:#fbbf24;background:#101828d1;max-width:90%;line-height:1.35;bottom:12px}.score-follow-overlay__system-start-mark{pointer-events:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;transform:translate(-50%,-50%)}.score-follow-overlay__system-start-mark:before,.score-follow-overlay__system-start-mark:after{content:"";background:#fbbf24;border-radius:1px;position:absolute}.score-follow-overlay__system-start-mark:before{width:16px;height:2px}.score-follow-overlay__system-start-mark:after{width:2px;height:16px}.score-follow-overlay__system-start-label{color:#fbbf24;pointer-events:none;background:#101828bf;border-radius:3px;padding:1px 3px;font-size:9px;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.score-follow-overlay--system-start{cursor:crosshair}.score-follow-controls__semi-auto-btn{color:#e8eef8;cursor:pointer;background:linear-gradient(#1e4a6e 0%,#153a58 100%);border:1px solid #38bdf8;border-radius:8px;width:100%;margin:8px 0 6px;padding:9px 10px;font-weight:600;display:block}.score-follow-controls__semi-auto-btn:hover:not(:disabled){background:#1e5080;border-color:#7dd3fc}.score-follow-controls__semi-auto-btn:disabled{opacity:.55;cursor:not-allowed}.score-follow-controls__semi-auto-review{background:#0c1c30bf;border:1px solid #38bdf859;border-radius:8px;margin:8px 0;padding:10px}.score-follow-controls__semi-auto-summary{margin:0 0 6px;font-size:.78rem;line-height:1.4}.score-follow-controls__semi-auto-warn{color:#fde68a;background:#b4781426;border:1px solid #facc1559;border-radius:6px;margin:0 0 6px;padding:6px 8px;font-size:.72rem;line-height:1.35}.score-follow-controls__semi-auto-note{color:#9eb4d8;margin:0 0 8px;font-size:.72rem;line-height:1.4}.score-follow-controls__semi-auto-actions{flex-direction:column;gap:6px;display:flex}.score-follow-controls__mark-start-btn--secondary{background:0 0;border-color:#3a5078;font-weight:500}.score-follow-overlay__anchor-marker--setup{opacity:.9;width:7px;height:7px;margin:-3.5px 0 0 -3.5px}.score-follow-overlay__anchor-marker--next{z-index:2;box-shadow:0 0 0 3px #6d4aff8c,0 0 0 1px #00000040}.score-follow-cursor{pointer-events:none;z-index:2;width:0;height:9%;position:absolute;transform:translate(-50%,-50%)}.score-follow-cursor__line{background:#7d64ffeb;border-radius:1px;width:2px;height:100%;margin:0 0 0 -1px;transition:opacity .12s;display:block;box-shadow:0 0 6px #6d4aff73,0 0 1px #6d4affcc}.score-follow-cursor--active .score-follow-cursor__line{transition:none}.score-follow-overlay__note-target{pointer-events:none;z-index:3;animation:1.6s ease-in-out infinite wfy-note-target-pulse;position:absolute;transform:translate(-50%,-50%)}.score-follow-overlay__note-target-glow{background:radial-gradient(circle,#ffc45c73 0%,#ff8c3c1f 55%,#0000 70%);border-radius:50%;width:56px;height:56px;position:absolute;top:-28px;left:-28px}.score-follow-overlay__note-target-ring{border:2px solid #ffb446d9;border-radius:50%;width:44px;height:44px;position:absolute;top:-22px;left:-22px;box-shadow:0 0 14px #ffa03c80}.score-follow-overlay__note-target-dot{background:#ffb347;border-radius:50%;width:14px;height:14px;position:absolute;top:-7px;left:-7px;box-shadow:0 0 10px #ffb450e6}.score-follow-overlay__note-target-label{letter-spacing:.03em;text-transform:uppercase;color:#2a1a08;white-space:nowrap;background:#ffc478f2;border-radius:6px;padding:2px 8px;font-size:.62rem;font-weight:600;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000040}.score-follow-overlay__note-target--chord .score-follow-overlay__note-target-ring{width:48px;height:48px;top:-24px;left:-24px}.score-follow-overlay__note-target--wide-chord .score-follow-overlay__note-target-ring{width:56px;height:56px;top:-28px;left:-28px}.score-follow-overlay__note-target--wide-chord .score-follow-overlay__note-target-glow{width:64px;height:64px;top:-32px;left:-32px}@keyframes wfy-note-target-pulse{0%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.92;transform:translate(-50%,-50%)scale(1.06)}}.wait-for-you__note-target-status{color:#9fb3d9;margin:8px 0 0;font-size:.75rem;line-height:1.45}.wait-for-you__note-target-status-hint{color:#8fa3c7;font-style:italic}.score-follow-controls{color:#c8d4e8;background:#152238;border:1px solid #2e4268;border-radius:12px;flex:0 0 220px;max-width:220px;padding:10px 12px;font-size:.8rem;overflow-y:auto}.score-follow-controls__title{color:#e8eef8;margin:0 0 10px;font-size:.85rem;font-weight:600}.score-follow-controls__row{cursor:pointer;align-items:flex-start;gap:8px;margin-bottom:8px;line-height:1.35;display:flex}.score-follow-controls__row--number{cursor:default;flex-direction:column}.score-follow-controls__row--number input{color:#e8eef8;background:#0d1628;border:1px solid #2e4268;border-radius:8px;width:100%;height:32px;padding:0 8px}.score-follow-controls__row input[type=checkbox]{accent-color:#6d4aff;margin-top:2px}.score-follow-controls__status{color:#9fb3d9;margin:0 0 8px;line-height:1.4}.score-follow-controls__status--hint{color:#6b82a8;margin-top:-4px;font-size:.8rem}.score-follow-controls__list{max-height:160px;margin:0 0 8px;padding:0;list-style:none;overflow-y:auto}.score-follow-controls__item{border-bottom:1px solid #243552;justify-content:space-between;align-items:center;gap:6px;padding:4px 0;display:flex}.score-follow-controls__auto-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.score-follow-controls__auto-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82c4,#2563eb);border:1px solid #3d5280;border-radius:8px;flex:auto;min-height:34px;padding:6px 10px;font-size:.8rem;font-weight:600}.score-follow-controls__auto-btn:hover:not(:disabled){filter:brightness(1.06)}.score-follow-controls__auto-btn:disabled{opacity:.55;cursor:not-allowed}.score-follow-controls__auto-btn--secondary{color:#9fb3d9;background:0 0}.score-follow-controls__auto-progress,.score-follow-controls__auto-success{color:#9fb3d9;margin:0 0 10px;font-size:.8rem;line-height:1.45}.score-follow-controls__auto-error{color:#f0b8b8;margin:0 0 6px;font-size:.8rem;line-height:1.45}.score-follow-controls__auto-failed{background:#b43c3c26;border:1px solid #dc646459;border-radius:8px;margin:0 0 8px;padding:8px 10px}.score-follow-controls__system-start-btn{color:#fde68a;cursor:pointer;background:linear-gradient(#4a3400 0%,#2d1f00 100%);border:1px solid #fbbf24;border-radius:8px;width:100%;margin:6px 0 0;padding:9px 10px;font-size:.85rem;font-weight:600;transition:opacity .15s;display:block}.score-follow-controls__system-start-btn:hover:not(:disabled){opacity:.85}.score-follow-controls__system-start-btn:disabled{opacity:.4;cursor:not-allowed}.score-follow-controls__adjust{margin:4px 0 0}.score-follow-controls__adjust-toggle{color:#9bb4d4;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-items:center;gap:4px;padding:4px 2px;font-size:.8rem;text-decoration:underline;display:inline-flex}.score-follow-controls__adjust-toggle:hover{color:#c4d6f0}.score-follow-controls__adjust-panel{flex-direction:column;gap:6px;margin-top:6px;display:flex}.score-follow-controls__system-start-panel{background:#fbbf2414;border:1px solid #fbbf24;border-radius:8px;margin:0 0 8px;padding:10px}.score-follow-controls__system-start-instruction{color:#fde68a;margin:0 0 6px;font-size:.82rem;font-weight:500}.score-follow-controls__system-start-count{color:#94a3b8;margin:0 0 10px;font-size:.78rem}.score-follow-controls__source-badge{text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:.65rem;font-weight:600;display:inline-block}.score-follow-controls__source-badge--auto{color:#7dd3fc;background:#38bdf833}.score-follow-controls__source-badge--manual{color:#c4b5fd;background:#6d4aff33}.score-follow-controls__delete{color:#f0b8b8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;width:24px;height:24px;padding:0;font-size:1rem;line-height:1}.score-follow-controls__delete:hover{background:#c8505033}.score-follow-controls__clear{color:#9fb3d9;cursor:pointer;background:0 0;border:1px solid #2e4268;border-radius:8px;width:100%;height:32px;font-size:.8rem}.score-follow-controls__clear:hover{color:#e8eef8;background:#1d2d4d}.score-follow-controls__mark-start-btn,.score-follow-controls__mark-done-btn{color:#e8eef8;cursor:pointer;background:linear-gradient(#2a3f66 0%,#1e3050 100%);border:1px solid #4a5f8a;border-radius:8px;width:100%;margin:8px 0 4px;padding:8px 10px;font-weight:600;display:block}.score-follow-controls__mark-start-btn:hover:not(:disabled),.score-follow-controls__mark-done-btn:hover{background:#2e4268;border-color:#6d4aff}.score-follow-controls__mark-start-btn:disabled{opacity:.55;cursor:not-allowed}.score-follow-controls__mark-done-btn{background:#1a2a44;border-color:#6d4aff}.score-follow-controls__marking-panel{background:#0c1628a6;border:1px solid #3a5078;border-radius:8px;margin:6px 0 8px;padding:8px 10px}.score-follow-controls__progress-label,.score-follow-controls__progress-next{margin:0 0 4px;font-size:.78rem;line-height:1.35}.score-follow-controls__progress-next{color:#9eb4d8}.score-follow-controls__progress-bar{background:#0e1828;border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.score-follow-controls__progress-fill{background:linear-gradient(90deg,#6d4aff,#38bdf8);border-radius:3px;height:100%;transition:width .15s;display:block}.score-follow-controls__marking-actions{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.score-follow-controls__action-btn{color:#c8d4e8;cursor:pointer;background:#152238;border:1px solid #3a5078;border-radius:6px;flex:auto;min-width:0;padding:5px 8px;font-size:.72rem}.score-follow-controls__action-btn:hover{border-color:#5a78a8}.score-follow-controls__action-btn--secondary{color:#9eb4d8}.score-follow-controls__shortcuts{color:#7a92b8;margin:4px 0 8px;font-size:.7rem;line-height:1.4}.score-follow-controls__shortcuts kbd,.score-follow-overlay__align-hint kbd{background:#0e1828;border:1px solid #3a5078;border-radius:3px;padding:1px 4px;font-size:.68rem}.score-follow-controls__system-hint{color:#b8cce8;background:#38bdf814;border:1px solid #38bdf840;border-radius:6px;margin:6px 0;padding:6px 8px;font-size:.72rem;line-height:1.4}.score-follow-controls__clear-row{flex-direction:column;gap:6px;margin-top:8px;display:flex}.score-follow-controls__markers-details{margin-top:8px}.score-follow-controls__markers-details summary{cursor:pointer;color:#9eb4d8;font-size:.75rem}.score-follow-controls__markers-details summary:hover{color:#c8d4e8}.score-follow-controls__empty{color:#9fb3d9;margin:0 0 10px;font-size:.8rem;line-height:1.45}.score-follow-controls__align-notice{color:#d4c8ff;background:#6d4aff1f;border:1px solid #6d4aff4d;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:.75rem;line-height:1.4}.score-follow-controls__status-card{background:#0d162899;border:1px solid #2e4268;border-radius:10px;margin:0 0 12px;padding:10px 12px}.score-follow-controls__status-card--setup{background:#6d4aff14;border-color:#6d4aff59}.score-follow-controls__status-card--active{background:#facc1514;border-color:#facc1566}.score-follow-controls__status-card--ready{background:#488c641a;border-color:#488c6466}.score-follow-controls__status-title{color:#e8eef8;margin:0 0 4px;font-size:.82rem;font-weight:600}.score-follow-controls__status-detail{color:#9fb3d9;margin:0;font-size:.78rem;line-height:1.45}.score-follow-controls__row--primary span{color:#e8eef8;font-weight:600}.score-follow-controls__details{color:#8fa3c7;margin:4px 0 8px;font-size:.78rem}.score-follow-controls__details summary{cursor:pointer;padding:4px 0;list-style-position:outside}.score-follow-controls__details summary:hover{color:#c5d4ef}.score-follow-controls__details[open] summary{margin-bottom:6px}.score-follow-controls__item-meta{color:#6b82a8;font-size:.75rem}.score-follow-controls__debug{border-top:1px solid #243552;grid-template-columns:1fr 1fr;gap:6px 10px;margin:12px 0 0;padding-top:10px;display:grid}.score-follow-controls__debug dt{color:#6b82a8;text-transform:uppercase;margin:0;font-size:.65rem}.score-follow-controls__debug dd{color:#e8eef8;margin:0;font-size:.8rem}.score-follow-controls__debug-wide{grid-column:1/-1}.score-follow-controls__debug-wide dd{color:#c8d4e8;line-height:1.35}.topbar__nav-btn--muted{opacity:.55}.session-restore-overlay{z-index:200;pointer-events:all;background:#0a101c8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.session-restore-overlay__card{background:#152238;border:1px solid #2d4268;border-radius:12px;max-width:22rem;padding:1.25rem 1.5rem;box-shadow:0 12px 40px #00000059}.session-restore-overlay__title{color:#f4f7fc;margin:0 0 .5rem;font-size:1rem;font-weight:600}.session-restore-overlay__hint{color:#9fb3d9;margin:0;font-size:.9rem;line-height:1.45}.app--restoring .main-layout,.app--restoring .library-welcome-wrap{pointer-events:none;-webkit-user-select:none;user-select:none}.upload-btn--disabled{opacity:.55;cursor:not-allowed}.session-restore-banner{background:#1a2844f2;border-bottom:1px solid #2e4268;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:10px 20px;display:flex}.session-restore-banner--success{background:#488c641f;border-bottom-color:#488c6459}.session-restore-banner--error{background:#c850501a;border-bottom-color:#c8505059}.session-restore-banner--info{background:#6d4aff14}.session-restore-banner__message{color:#d4e0f4;margin:0;font-size:.85rem}.session-restore-banner__actions{gap:8px;display:flex}.session-restore-banner__btn{color:#e8eef8;cursor:pointer;background:#1a2844;border:1px solid #3d5278;border-radius:8px;padding:6px 12px;font-size:.78rem}.session-restore-banner__btn--ghost{background:0 0}.library-welcome-wrap{padding:var(--sf-space-xl) var(--sf-space-3xl) 0;width:100%;max-width:1200px;margin:0 auto}.library-welcome{gap:var(--sf-space-lg) var(--sf-space-2xl);padding:var(--sf-space-xl) var(--sf-space-2xl);border-radius:var(--sf-radius-xl);border:1px solid var(--sf-border-strong);background:radial-gradient(circle at top left, #6d4aff1c, transparent 38%), var(--sf-bg-panel);grid-template-columns:minmax(240px,.9fr) minmax(280px,1.1fr);display:grid}.library-welcome__eyebrow{margin:0 0 var(--sf-space-sm);color:#b9aaff;font-size:var(--sf-font-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.library-welcome__title{max-width:440px;margin:0 0 var(--sf-space-sm);letter-spacing:-.025em;color:#f4f7fc;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.18}.library-welcome__summary{max-width:36rem;margin:0 0 var(--sf-space-sm);font-size:var(--sf-font-body);color:#d4dff5;line-height:1.55}.library-welcome__lead{max-width:500px;font-size:var(--sf-font-small);color:#b8c8e8;margin:0;line-height:1.5}.library-welcome__intro{align-self:center}.library-welcome__section-title{margin:0 0 var(--sf-space-sm);color:var(--sf-text-secondary);font-size:var(--sf-font-small);font-weight:600}.library-welcome__steps{gap:var(--sf-space-sm);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.library-welcome__steps li{align-items:center;gap:1px var(--sf-space-sm);grid-template-columns:22px minmax(0,1fr);min-width:0;display:grid}.library-welcome__steps li>span{color:#cfc4ff;background:#6d4aff2e;border-radius:50%;grid-row:1/3;justify-content:center;align-items:center;width:22px;height:22px;font-size:.68rem;font-weight:700;display:inline-flex}.library-welcome__steps strong{color:var(--sf-text-secondary);font-size:var(--sf-font-caption);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.library-welcome__steps small{color:var(--sf-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.library-welcome .demo-piece{align-self:stretch}.library-welcome__how{grid-column:1/-1}.library-welcome__best{padding:var(--sf-space-sm) var(--sf-space-md);border:1px solid var(--sf-border-muted);border-radius:var(--sf-radius-md);background:var(--sf-bg-panel-inset);color:var(--sf-text-muted);font-size:var(--sf-font-caption);grid-column:1/-1;margin:0;line-height:1.4}.library-welcome__footer{padding-top:var(--sf-space-sm);border-top:1px solid var(--sf-border-muted);grid-column:1/-1}.library-welcome__privacy{max-width:620px;color:var(--sf-text-muted);font-size:var(--sf-font-caption);margin:0;line-height:1.45}.library-welcome__actions{align-items:center;gap:var(--sf-space-md);margin-top:var(--sf-space-lg);flex-wrap:wrap;display:flex}.feedback-link{text-decoration:none}.library-welcome__actions .feedback-link{min-height:36px;padding:var(--sf-space-sm) 0;color:var(--sf-text-muted);font-size:var(--sf-font-caption);text-align:left;align-items:center;display:inline-flex}.library-welcome__actions .feedback-link:hover{color:var(--sf-text-primary)}.library-welcome__btn{border-radius:var(--sf-radius-md);background:var(--sf-accent);color:#fff;font-size:var(--sf-font-small);cursor:pointer;border:1px solid #0000;padding:9px 16px;font-weight:500}.library-welcome__btn:disabled{opacity:.65;cursor:wait}.app-footer{justify-content:center;gap:var(--sf-space-sm) var(--sf-space-xl);padding:var(--sf-space-md) var(--sf-space-xl);border-top:1px solid var(--sf-border);background:var(--sf-bg-topbar);color:var(--sf-text-muted);font-size:var(--sf-font-caption);text-align:center;flex-wrap:wrap;flex-shrink:0;line-height:1.4;display:flex}.app-footer a{color:var(--sf-text-secondary)}@media (width<=900px){.library-welcome-wrap{padding:var(--sf-space-md)}.library-welcome{gap:var(--sf-space-lg);grid-template-columns:1fr}.library-welcome__footer{padding-top:0}.library-welcome__actions{width:100%}}@media (width<=640px){.library-welcome__steps{grid-template-columns:1fr}}@media (width<=480px){.topbar__beta{font-size:.62rem}.library-welcome{padding:var(--sf-space-lg)}.library-welcome__title{font-size:1.38rem}.library-welcome__btn{flex:9rem}.demo-piece{grid-template-columns:1fr}.demo-piece__action{text-align:left;min-width:0}}.profile-view{width:100%;max-width:var(--sf-content-max);padding:var(--sf-space-4xl) var(--sf-space-3xl) 56px;background:var(--sf-bg-raised);flex:1;margin:0 auto;overflow-y:auto}.profile-header{margin-bottom:var(--sf-space-3xl)}.profile-header__title{color:var(--sf-text-primary);font-size:var(--sf-font-title);letter-spacing:-.02em;margin:0;font-weight:600}.profile-header__lede{margin:var(--sf-space-sm) 0 0;color:var(--sf-text-muted);line-height:1.5}.profile-stats-grid{gap:var(--sf-space-md);margin-bottom:var(--sf-space-3xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-stat,.profile-panel,.profile-empty{border:1px solid var(--sf-border);border-radius:var(--sf-radius-xl);background:var(--sf-bg-panel)}.profile-stat{gap:var(--sf-space-xs);padding:var(--sf-space-lg) var(--sf-space-xl);flex-direction:column;display:flex}.profile-stat__label{color:var(--sf-text-muted);font-size:var(--sf-font-caption);letter-spacing:.03em;text-transform:uppercase}.profile-stat__value{color:var(--sf-text-primary);font-size:1.35rem;font-weight:600}.profile-empty{padding:var(--sf-space-3xl);text-align:center}.profile-empty h3{margin:0 0 var(--sf-space-sm);color:var(--sf-text-secondary);font-size:var(--sf-font-section)}.profile-empty p,.profile-panel__empty{color:var(--sf-text-muted);margin:0;line-height:1.5}.profile-panels{gap:var(--sf-space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-panel{padding:var(--sf-space-xl) var(--sf-space-2xl)}.profile-panel__title{margin:0 0 var(--sf-space-md);color:var(--sf-text-secondary);font-size:var(--sf-font-section);font-weight:600}.profile-list{margin:0;padding:0;list-style:none}.profile-list__item{justify-content:space-between;align-items:baseline;gap:var(--sf-space-md);padding:var(--sf-space-md) 0;border-bottom:1px solid var(--sf-border-muted);color:var(--sf-text-muted);font-size:var(--sf-font-small);display:flex}.profile-list__item:first-child{padding-top:0}.profile-list__item:last-child{border-bottom:0;padding-bottom:0}.profile-list__item>span:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-list__item strong{color:var(--sf-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.profile-list__item small{color:var(--sf-text-faint);font-size:var(--sf-font-caption)}.profile-list__item>span:last-child{flex-shrink:0}.profile-footer{justify-content:space-between;align-items:center;gap:var(--sf-space-md);margin-top:var(--sf-space-4xl);padding-top:var(--sf-space-xl);border-top:1px solid var(--sf-border);display:flex}.profile-footer p{color:var(--sf-text-faint);font-size:var(--sf-font-small);margin:0}.profile-footer__reset{border:1px solid var(--sf-border-strong);border-radius:var(--sf-radius-md);color:var(--sf-text-muted);cursor:pointer;font-size:var(--sf-font-small);background:0 0;padding:9px 16px;font-weight:500}.profile-footer__reset:hover{border-color:var(--sf-border-focus);background:var(--sf-bg-panel-inset);color:var(--sf-text-secondary)}@media (width<=760px){.profile-view{padding:var(--sf-space-2xl) var(--sf-space-lg) var(--sf-space-4xl)}.profile-stats-grid,.profile-panels{grid-template-columns:1fr}.profile-footer{flex-direction:column;align-items:flex-start}}.profile-manual-log{margin-bottom:var(--sf-space-3xl)}.profile-manual-log__lede{margin:0 0 var(--sf-space-lg);color:var(--sf-text-muted);font-size:var(--sf-font-small);line-height:1.5}.profile-manual-log__timer{align-items:baseline;gap:var(--sf-space-md);margin-bottom:var(--sf-space-lg);display:flex}.profile-manual-log__time{color:var(--sf-text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2rem;font-weight:600}.profile-manual-log__status{color:var(--sf-text-faint);font-size:var(--sf-font-small)}.profile-manual-log__controls,.profile-manual-log__form-actions{gap:var(--sf-space-sm);flex-wrap:wrap;display:flex}.profile-manual-log__btn{border:1px solid var(--sf-border-strong);border-radius:var(--sf-radius-md);color:var(--sf-text-muted);cursor:pointer;font-size:var(--sf-font-small);background:0 0;padding:9px 16px;font-weight:500}.profile-manual-log__btn:hover,.profile-manual-log__btn--primary{border-color:var(--sf-border-focus);background:var(--sf-bg-panel-inset);color:var(--sf-text-secondary)}.profile-manual-log__form{gap:var(--sf-space-md);margin-top:var(--sf-space-lg);padding-top:var(--sf-space-lg);border-top:1px solid var(--sf-border-muted);flex-direction:column;display:flex}.profile-manual-log__field{gap:var(--sf-space-xs);color:var(--sf-text-muted);font-size:var(--sf-font-small);flex-direction:column;display:flex}.profile-manual-log__field input,.profile-manual-log__field select,.profile-manual-log__field textarea{border:1px solid var(--sf-border);border-radius:var(--sf-radius-md);background:var(--sf-bg-raised);width:100%;color:var(--sf-text-secondary);font:inherit;padding:10px 12px}.profile-manual-log__field textarea{resize:vertical;min-height:72px}.profile-manual-log__form-actions{justify-content:flex-end}.profile-manual-log__message{margin:var(--sf-space-md) 0 0;color:var(--sf-text-muted);font-size:var(--sf-font-small)}.profile-panel__subtitle{margin:var(--sf-space-lg) 0 var(--sf-space-sm);color:var(--sf-text-faint);font-size:var(--sf-font-caption);letter-spacing:.03em;text-transform:uppercase;font-weight:600}.profile-panel__subtitle:first-of-type{margin-top:0}.profile-list--compact .profile-list__item{padding:var(--sf-space-sm) 0}.profile-list__notes{color:var(--sf-text-faint);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.legal-page{width:100%;max-width:var(--sf-content-max);padding:var(--sf-space-4xl) var(--sf-space-3xl) 56px;background:var(--sf-bg-raised);flex:1;margin:0 auto;overflow-y:auto}.legal-page__header{margin-bottom:var(--sf-space-3xl)}.legal-page__title{color:var(--sf-text-primary);font-size:var(--sf-font-title);letter-spacing:-.02em;margin:0;font-weight:600}.legal-page__lede{margin:var(--sf-space-sm) 0 0;color:var(--sf-text-muted);max-width:42rem;line-height:1.55}.legal-page__content{gap:var(--sf-space-2xl);flex-direction:column;max-width:42rem;display:flex}.legal-page__content section h3{margin:0 0 var(--sf-space-sm);color:var(--sf-text-secondary);font-size:var(--sf-font-section);font-weight:600}.legal-page__content section p{color:var(--sf-text-muted);margin:0;line-height:1.6}.legal-page__content a{color:var(--sf-text-secondary);text-underline-offset:2px;text-decoration:underline}.legal-page__content a:hover{color:var(--sf-text-primary)}.legal-page__updated{margin:var(--sf-space-md) 0 0;color:var(--sf-text-muted);font-size:var(--sf-font-caption)}.app-footer__legal{justify-content:center;gap:var(--sf-space-sm) var(--sf-space-lg);flex-wrap:wrap;width:100%;display:flex}.app-footer__legal a{color:var(--sf-text-secondary);text-decoration:none}.app-footer__legal a:hover{color:var(--sf-text-primary);text-decoration:underline}@media (width<=640px){.legal-page{padding:var(--sf-space-3xl) var(--sf-space-lg) 40px}.legal-page__title{font-size:1.35rem}}@media (width<=480px){.legal-page{padding:var(--sf-space-2xl) var(--sf-space-md) 32px}}
