:root{--bg:#0e0a0f;--bg-base:#0e0a0f;--bg-surface:#14000f;--bg-primary:#9650ff;--bg-primary-rgb:150, 80, 255;--bg-secondary:#ff7a8b;--bg-secondary-rgb:255, 122, 139;--bg-detail:#6be0ff;--bg-detail-rgb:107, 224, 255;--layout-device:laptop;--layout-vh-unit:1vh;--layout-header-vh:12;--layout-header-offset-gap-vh:1;--layout-header-inline-padding-vw:1.85;--layout-header-content-gap-vh:2;--layout-header-side-gap-vh:1.5;--layout-header-height:max(calc(var(--layout-header-vh) * 6px), calc(var(--layout-header-vh) * var(--layout-vh-unit)));--layout-header-content-gap:max(calc(var(--layout-header-content-gap-vh) * 6px), calc(var(--layout-header-content-gap-vh) * var(--layout-vh-unit)));--layout-header-side-gap:max(calc(var(--layout-header-side-gap-vh) * 6px), calc(var(--layout-header-side-gap-vh) * var(--layout-vh-unit)));--layout-header-offset:max(calc((var(--layout-header-vh) + var(--layout-header-offset-gap-vh)) * 6px), calc((var(--layout-header-vh) + var(--layout-header-offset-gap-vh)) * var(--layout-vh-unit)));font-family:Segoe UI,Arial,sans-serif}@supports (height:100dvh){:root{--layout-vh-unit:1dvh}}@media (width>=801px) and (width<=1199px){:root{--layout-device:tablet;--layout-header-inline-padding-vw:1.6;--layout-header-content-gap-vh:1.7;--layout-header-side-gap-vh:1.25}}@media (width<=800px){:root{--layout-device:mobile;--layout-header-inline-padding-vw:1.2;--layout-header-content-gap-vh:1.35;--layout-header-side-gap-vh:1.05}}@media (width<=800px) and (orientation:portrait){:root{--layout-header-vh:9.8;--layout-header-offset-gap-vh:.45;--layout-header-inline-padding-vw:.8;--layout-header-content-gap-vh:.4;--layout-header-side-gap-vh:.25}}@media (width>=801px) and (width<=1199px) and (orientation:portrait){:root{--layout-header-vh:19.2}}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{background:#05050a}.piano-view.editor-mode .sheet-note.selected,.piano-view.editor-mode .sheet-sustain.selected{z-index:100!important;--editor-note-scale:1!important;background:linear-gradient(#ff69b4 0%,#ff1493 100%)!important;border:3px solid #ff69b4!important;box-shadow:0 0 30px #ff69b4cc!important}.note-edit-controls{--midi-edit-control-size:42px;--midi-edit-control-side-offset:56px;z-index:10000;pointer-events:auto;width:100%;height:100%;display:none;position:absolute}.note-edit-controls.visible{display:block}.note-edit-controls.selection-tools{background:linear-gradient(135deg,#2a120af0 0%,#521e0ce6 100%);border:1px solid #ffe2b880;border-radius:999px;justify-content:center;align-items:center;gap:.7rem;width:auto;height:auto;padding:.45rem;display:flex}.edit-control-btn{width:var(--midi-edit-control-size);height:var(--midi-edit-control-size);cursor:pointer;color:#fff;z-index:10001;appearance:none;background-clip:padding-box;border:2px solid #fffc;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:absolute;box-shadow:0 4px 12px #00000080}.edit-control-btn.selection-action{letter-spacing:.02em;border-radius:999px;width:auto;min-width:6.2rem;height:2.35rem;padding:0 1rem;font-size:.8rem;position:relative;inset:auto;transform:none}.note-edit-controls.selection-tools .edit-control-btn.selection-handle{border-radius:999px;width:2.35rem;min-width:2.35rem;height:2.35rem;padding:0;font-size:1rem;font-weight:900;position:relative;inset:auto;transform:none}.edit-control-btn.top,.edit-control-btn.bottom,.edit-control-btn.middle{font-family:Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;font-size:24px;font-weight:900;line-height:1}.edit-control-glyph{line-height:1;display:block;transform:translateY(-2px)}.edit-control-btn.middle{background:#3498db;top:50%;left:50%;transform:translate(-50%,-50%)}.edit-control-btn.top{background:#e74c3c;top:0;left:50%;transform:translate(-50%)}.edit-control-btn.bottom{background:#e74c3c;bottom:0;left:50%;transform:translate(-50%)}.edit-control-btn.left{left:calc(-1 * var(--midi-edit-control-side-offset));background:#2ecc71;top:50%;transform:translateY(-50%)}.edit-control-btn.right{right:calc(-1 * var(--midi-edit-control-side-offset));background:#e74c3c;top:50%;transform:translateY(-50%)}.edit-control-btn.velocity{left:calc(-1 * var(--midi-edit-control-side-offset));letter-spacing:.02em;background:linear-gradient(135deg,#1abc9c 0%,#16a085 100%);border-radius:50%;padding:0;font-size:11px;line-height:1}.edit-control-btn.duplicate{color:#3f1802f5;background:linear-gradient(135deg,#ffb347 0%,#ff8c42 100%)}.edit-control-btn.selection-expand-top,.edit-control-btn.selection-expand-bottom,.edit-control-btn.selection-move{color:#ebf6fffa;background:linear-gradient(135deg,#57b8ff 0%,#2f7fe6 100%)}.edit-control-btn.delete-selection{background:linear-gradient(135deg,#ff6b6b 0%,#c0392b 100%)}.upload-submodal-wrap[data-v-f406591f]{background:#050a148c;place-items:center;display:grid;position:absolute;inset:0}.upload-submodal[data-v-f406591f]{background:#0b121efa;border:1px solid #6e8ab873;border-radius:clamp(10px,1.2vh,14px);gap:clamp(7px,.9vh,12px);width:min(clamp(360px,54vh,560px),100% - 24px);padding:clamp(10px,1.2vh,16px);display:grid}.submodal-head[data-v-f406591f]{justify-content:space-between;align-items:center;display:flex}.submodal-head h3[data-v-f406591f]{margin:0}.hub-close[data-v-f406591f]{color:#dbe7ff;background:#172339f2;border:1px solid #6e8ab866;border-radius:clamp(6px,.8vh,10px);width:auto;padding:clamp(4px,.7vh,8px) clamp(8px,.9vw,12px)}.hidden-input[data-v-f406591f]{display:none}.search[data-v-f406591f]{color:#fff;background:#442957;border:1px solid #ae581e;border-radius:clamp(8px,1vh,12px);width:100%;height:clamp(32px,4vh,38px);padding:0 clamp(8px,.8vw,12px)}.search[data-v-f406591f]::placeholder{color:#ffffffbd}.drop-zone[data-v-f406591f]{color:#fff;text-align:center;background:#442957;border:1px dashed #ae581e;border-radius:clamp(8px,1vh,12px);place-items:center;width:100%;min-height:clamp(74px,10vh,94px);padding:clamp(8px,1vh,12px);display:grid}.drop-zone.drag[data-v-f406591f]{background:#442957;border-color:#ae581e;box-shadow:0 0 0 .18vh #ae581e57}.submodal-grid[data-v-f406591f]{grid-template-columns:1fr 1fr;gap:clamp(7px,.9vh,12px);display:grid}.field-group[data-v-f406591f]{gap:clamp(3px,.45vh,6px);display:grid}.field-label[data-v-f406591f]{color:#dbe7ff;font-size:clamp(12px,1.4vh,14px);font-weight:600}.upload-tag-picker[data-v-f406591f]{gap:clamp(4px,.6vh,8px);display:grid}.block-label[data-v-f406591f]{font-weight:600}.tag-cloud[data-v-f406591f]{scrollbar-width:thin;scrollbar-color:#80a5e08c #0b131e80;background:#0c152373;border:1px solid #677ea557;border-radius:clamp(9px,1.1vh,13px);flex-wrap:wrap;align-content:flex-start;gap:clamp(4px,.6vh,7px);width:100%;max-height:clamp(92px,14vh,150px);padding:clamp(6px,.85vh,10px) clamp(4px,.55vw,8px) clamp(6px,.85vh,10px) clamp(6px,.85vh,10px);display:flex;overflow:auto}.tag-cloud[data-v-f406591f]::-webkit-scrollbar{width:10px;height:10px}.tag-cloud[data-v-f406591f]::-webkit-scrollbar-track{background:#0b131e80;border-radius:999px}.tag-cloud[data-v-f406591f]::-webkit-scrollbar-thumb{background:linear-gradient(#6191e1e6,#4776c7e6);border:2px solid #0b131e80;border-radius:999px}.tag-chip[data-v-f406591f]{cursor:pointer;color:#dbe7ff;background:#0d1624e6;border:1px solid #738cb359;border-radius:999px;width:auto;padding:clamp(2px,.35vh,4px) clamp(7px,.75vw,10px);font-size:clamp(12px,1.45vh,14px);display:inline-flex}.tag-chip.active[data-v-f406591f]{background:#2659aab8;border-color:#7babfa99}.check-row[data-v-f406591f]{grid-template-columns:auto 1fr;align-items:center;column-gap:calc(8px + 2.1vh);display:grid}.check-row input[type=checkbox][data-v-f406591f]{accent-color:#3b82f6;width:16px;min-width:16px;max-width:16px;height:16px;margin:3px 0 0 clamp(6px,1.2vw,12px);padding:0}.upload-submit[data-v-f406591f]{color:#bfcde5;background:linear-gradient(90deg,#24344f,#223a55);border:1px solid #4f6ea18c;border-radius:10px;padding:clamp(8px,1vh,12px)}.upload-submit.ready[data-v-f406591f]{color:#f2f8ff;background:linear-gradient(90deg,#2563eb,#0ea5a2);border-color:#50a2ff99;box-shadow:0 0 0 2px #3182f633}@media (width<=980px){.submodal-grid[data-v-f406591f]{grid-template-columns:1fr}}.upload-submodal-wrap[data-v-2cafa111]{background:#050a148c;place-items:center;display:grid;position:absolute;inset:0}.upload-submodal[data-v-2cafa111]{background:#0b121efa;border:1px solid #6e8ab873;border-radius:clamp(10px,1.2vh,14px);gap:clamp(7px,.9vh,12px);width:min(clamp(360px,54vh,560px),100% - 24px);padding:clamp(10px,1.2vh,16px);display:grid}.course-submodal[data-v-2cafa111]{width:min(clamp(680px,86vw,1020px),100% - 24px);max-height:min(86vh,90svh);overflow:auto}.submodal-head[data-v-2cafa111]{justify-content:space-between;align-items:center;display:flex}.submodal-head h3[data-v-2cafa111]{margin:0}.hub-close[data-v-2cafa111]{color:#dbe7ff;background:#172339f2;border:1px solid #6e8ab866;border-radius:clamp(6px,.8vh,10px);width:auto;padding:clamp(4px,.7vh,8px) clamp(8px,.9vw,12px)}.hidden-input[data-v-2cafa111]{display:none}.search[data-v-2cafa111]{color:#fff;background:#442957;border:1px solid #ae581e;border-radius:clamp(8px,1vh,12px);width:100%;height:clamp(32px,4vh,38px);padding:0 clamp(8px,.8vw,12px)}.search[data-v-2cafa111]::placeholder{color:#ffffffbd}.course-sort-row[data-v-2cafa111]{gap:clamp(5px,.7vh,9px);display:grid}.course-layout[data-v-2cafa111]{grid-template-columns:minmax(200px,clamp(220px,24vh,260px)) 1fr 1fr;align-items:start;gap:clamp(8px,1vh,14px);display:grid}.course-controls[data-v-2cafa111]{background:#0c15238c;border:1px solid #607eab59;border-radius:clamp(9px,1vh,12px);gap:clamp(7px,.9vh,11px);padding:clamp(8px,1vh,12px);display:grid}.course-control-block[data-v-2cafa111]{gap:clamp(5px,.7vh,8px);display:grid}.block-label[data-v-2cafa111]{font-weight:600}.segmented[data-v-2cafa111]{border:1px solid #738cb359;border-radius:clamp(8px,1vh,12px);display:grid;overflow:hidden}.segmented-2[data-v-2cafa111]{grid-template-columns:1fr 1fr}.segmented button[data-v-2cafa111]{cursor:pointer;color:#d8e5ff;background:#0b131ee6;border:0;border-right:1px solid #738cb359;padding:clamp(7px,.9vh,10px) clamp(5px,.5vw,8px)}.segmented button[data-v-2cafa111]:last-child{border-right:0}.segmented button.active[data-v-2cafa111]{background:#234a8c8c;font-weight:700}.course-upload-group[data-v-2cafa111]{gap:clamp(4px,.6vh,7px);display:grid}.course-upload-title[data-v-2cafa111]{color:#cfe0ff;font-size:clamp(11px,1.35vh,13px)}.course-upload-drop[data-v-2cafa111]{color:#fff;text-align:center;cursor:pointer;background:#442957;border:1px dashed #ae581e;border-radius:clamp(8px,1vh,12px);place-items:center;width:100%;min-height:clamp(40px,5.5vh,54px);padding:clamp(6px,.8vh,10px);display:grid}.course-upload-drop[data-v-2cafa111]:hover{background:#442957;border-color:#ae581e;box-shadow:0 0 0 .16vh #ae581e57}.course-terms[data-v-2cafa111]{white-space:normal;grid-template-columns:auto 1fr;align-items:center;column-gap:calc(clamp(6px,.8vh,10px) + .5vh);font-size:clamp(11px,1.35vh,13px);display:grid}.course-terms input[type=checkbox][data-v-2cafa111]{accent-color:#3b82f6;width:16px;min-width:16px;max-width:16px;height:16px;margin:3px 0 0;padding:0}.course-submit[data-v-2cafa111]{width:100%}.course-column[data-v-2cafa111]{gap:clamp(8px,1vh,12px);display:grid}.course-lane[data-v-2cafa111]{background:#0c15238c;border:1px solid #607eab59;border-radius:clamp(9px,1vh,12px);gap:clamp(4px,.55vh,8px);padding:clamp(5px,.7vh,8px) clamp(7px,.95vh,11px);display:grid}.course-lane.drag[data-v-2cafa111]{background:#152c4c99;border-color:#6ca7ffcc}.course-lane-head[data-v-2cafa111]{cursor:pointer;justify-content:space-between;align-items:center;gap:clamp(5px,.7vh,9px);min-height:clamp(30px,4.2vh,38px);display:flex}.course-lane-head h4[data-v-2cafa111]{margin:0;font-size:clamp(12px,1.6vh,15px)}.course-lane-meta[data-v-2cafa111]{align-items:center;gap:clamp(6px,.8vh,10px);display:flex}.course-lane-head span[data-v-2cafa111]{color:#9fb5d8;font-size:clamp(10px,1.3vh,12px)}.course-toggle-icon[data-v-2cafa111]{color:#d7e7ff;background:#101b2be6;border:1px solid #748db666;border-radius:999px;place-items:center;width:clamp(16px,2.1vh,20px);height:clamp(16px,2.1vh,20px);font-size:clamp(10px,1.25vh,12px);line-height:1;display:inline-grid}.course-files[data-v-2cafa111]{gap:0;max-height:40vh;display:grid;overflow:auto}.course-drop-gap[data-v-2cafa111]{border-top:1px solid #0000;border-radius:clamp(6px,.8vh,10px);height:2px;margin:0 clamp(2px,.35vw,6px);transition:height .12s,border-color .12s,background-color .12s,transform .12s}.course-drop-gap.active[data-v-2cafa111]{background:#4780d138;border-top-color:#7db6fff2;height:clamp(10px,1.3vh,14px);transform:scaleY(1.2)}.course-chip-row[data-v-2cafa111]{--course-chip-height:clamp(30px, 4vh, 36px);grid-template-columns:minmax(0,1fr) clamp(30px,4vh,36px);align-items:stretch;gap:clamp(4px,.55vh,7px);display:grid}.course-chip[data-v-2cafa111]{color:#dfebff;white-space:nowrap;text-overflow:ellipsis;background:#111d2fe6;border:1px solid #748db666;border-radius:clamp(8px,.9vh,11px);padding:0 clamp(8px,.85vw,12px);font-size:clamp(11px,1.35vh,13px);overflow:hidden}.course-chip-row:hover .course-chip[data-v-2cafa111]{background:#1e3352e6;border-color:#86b1f5b3}.draggable-chip[data-v-2cafa111]{box-sizing:border-box;width:100%;min-width:0;height:var(--course-chip-height);text-align:left;cursor:grab;-webkit-user-select:none;user-select:none;grid-template-columns:auto 1fr;align-items:center;gap:clamp(6px,.8vh,10px);display:grid}.draggable-chip[data-v-2cafa111]:active{cursor:grabbing}.chip-grip[data-v-2cafa111]{opacity:.82;font-size:clamp(12px,1.45vh,14px);line-height:1}.chip-text[data-v-2cafa111]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.course-chip-remove[data-v-2cafa111]{color:#ffb6c0;width:clamp(30px,4vh,36px);height:var(--course-chip-height);box-sizing:border-box;cursor:pointer;background:#36161fd9;border:1px solid #88586080;border-radius:clamp(7px,.8vh,10px);flex:none;place-items:center;min-width:clamp(30px,4vh,36px);max-width:clamp(30px,4vh,36px);padding:0;line-height:1;display:grid}.course-submodal.custom-mode .course-lane-head[data-v-2cafa111],.course-submodal.custom-mode .course-files[data-v-2cafa111],.course-submodal.custom-mode .course-chip-row[data-v-2cafa111],.course-submodal.custom-mode .course-chip[data-v-2cafa111],.course-submodal.custom-mode .course-drop-gap[data-v-2cafa111]{cursor:grab;-webkit-user-select:none;user-select:none}.course-submodal.is-dragging[data-v-2cafa111],.course-submodal.is-dragging[data-v-2cafa111] *{cursor:grabbing!important}.course-empty[data-v-2cafa111]{color:#9fb5d8;font-size:clamp(11px,1.3vh,13px)}.upload-submit[data-v-2cafa111]{color:#bfcde5;background:linear-gradient(90deg,#24344f,#223a55);border:1px solid #4f6ea18c;border-radius:10px;padding:clamp(8px,1vh,12px)}.upload-submit.ready[data-v-2cafa111]{color:#f2f8ff;background:linear-gradient(90deg,#2563eb,#0ea5a2);border-color:#50a2ff99;box-shadow:0 0 0 2px #3182f633}.course-submodal[data-v-2cafa111],.course-files[data-v-2cafa111]{scrollbar-width:thin;scrollbar-color:#80a5e08c #0b131e80}.course-submodal[data-v-2cafa111]::-webkit-scrollbar{width:10px;height:10px}.course-files[data-v-2cafa111]::-webkit-scrollbar{width:10px;height:10px}.course-submodal[data-v-2cafa111]::-webkit-scrollbar-track{background:#0b131e80;border-radius:999px}.course-files[data-v-2cafa111]::-webkit-scrollbar-track{background:#0b131e80;border-radius:999px}.course-submodal[data-v-2cafa111]::-webkit-scrollbar-thumb{background:linear-gradient(#6191e1e6,#4776c7e6);border:2px solid #0b131e80;border-radius:999px}.course-files[data-v-2cafa111]::-webkit-scrollbar-thumb{background:linear-gradient(#6191e1e6,#4776c7e6);border:2px solid #0b131e80;border-radius:999px}.course-submodal[data-v-2cafa111]::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7eaffff2,#5288e2f2)}.course-files[data-v-2cafa111]::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7eaffff2,#5288e2f2)}@media (width<=980px){.course-layout[data-v-2cafa111]{grid-template-columns:1fr}}.hub-overlay[data-v-0e01abc4]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#03070ec7;place-items:center;padding:clamp(10px,1.8vh,20px);display:grid;position:fixed;inset:0}.hub-modal[data-v-0e01abc4]{color:#dbe7ff;background:#0f1726;border:1px solid #6e84a952;border-radius:clamp(10px,1.2vh,14px);flex-direction:column;width:min(clamp(920px,94vw,1260px),100%);height:min(90vh,96svh);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px #00000080}.hub-header[data-v-0e01abc4]{background:#101c2edb;border-bottom:1px solid #64799c4d;justify-content:space-between;align-items:center;padding:clamp(6px,.9vh,10px) clamp(10px,1.2vw,14px);display:flex}.hub-header h2[data-v-0e01abc4]{margin:0;font-size:clamp(14px,1.8vh,18px);line-height:1.1}.hub-close[data-v-0e01abc4]{color:#dbe7ff;background:#172339f2;border:1px solid #6e8ab866;border-radius:clamp(6px,.8vh,10px);width:auto;padding:clamp(4px,.7vh,8px) clamp(8px,.9vw,12px)}.hub-shell[data-v-0e01abc4]{flex:1;min-height:0}.community-content-shell[data-v-0e01abc4]{grid-template-columns:clamp(240px,26vh,300px) 1fr;height:100%;min-height:0;display:grid}.left-panel[data-v-0e01abc4]{border-right:1px solid #677ea540;flex-direction:column;gap:0;padding:0 clamp(10px,1vw,16px) clamp(10px,1.2vh,16px);display:flex}.panel-block[data-v-0e01abc4]{border-top:1px solid #677ea540;flex-direction:column;gap:clamp(5px,.8vh,9px);padding-top:clamp(6px,.9vh,10px);padding-bottom:clamp(6px,.9vh,10px);display:flex}.panel-block.no-divider[data-v-0e01abc4]{border-top:0;justify-content:center;height:clamp(40px,5.2vh,48px);padding-top:0;padding-bottom:0}.panel-block.no-divider .search-row[data-v-0e01abc4]{align-items:center;height:clamp(40px,5.2vh,48px)}.panel-block.tags-block[data-v-0e01abc4]{gap:clamp(5px,.7vh,9px);padding-top:clamp(4px,.6vh,7px)}.row-head[data-v-0e01abc4]{justify-content:space-between;align-items:center;gap:clamp(6px,.8vh,10px);display:flex}.search[data-v-0e01abc4]{color:#fff;background:#442957;border:1px solid #ae581e;border-radius:clamp(8px,1vh,12px);width:100%;height:clamp(32px,4vh,38px);padding:0 clamp(8px,.8vw,12px)}.search[data-v-0e01abc4]::placeholder{color:#ffffffbd}.search-row[data-v-0e01abc4]{align-items:center;gap:clamp(6px,.7vh,9px);width:100%;display:flex}.search-small[data-v-0e01abc4]{border-radius:clamp(7px,.8vh,10px);flex:1;width:auto;min-width:0;height:clamp(30px,3.6vh,34px);font-size:clamp(12px,1.45vh,14px)}.liked-toggle[data-v-0e01abc4]{color:#d8e5ff;background:#0b131ee6;border:1px solid #738cb359;border-radius:clamp(7px,.8vh,10px);width:auto;min-width:0;height:clamp(30px,3.6vh,34px);margin-left:auto;padding:0 clamp(5px,.6vw,8px);font-size:clamp(11px,1.35vh,13px)}.liked-toggle.active[data-v-0e01abc4]{background:#234a8c8c}.segmented[data-v-0e01abc4]{border:1px solid #738cb359;border-radius:clamp(8px,1vh,12px);grid-template-columns:1fr 1fr 1fr;display:grid;overflow:hidden}.segmented-2[data-v-0e01abc4]{grid-template-columns:1fr 1fr}.segmented button[data-v-0e01abc4]{cursor:pointer;color:#d8e5ff;background:#0b131ee6;border:0;border-right:1px solid #738cb359;padding:clamp(7px,.9vh,10px) clamp(5px,.5vw,8px)}.segmented button[data-v-0e01abc4]:last-child{border-right:0}.segmented button.active[data-v-0e01abc4]{background:#234a8c8c;font-weight:700}.inline-link[data-v-0e01abc4]{color:#d8e5ff;background:#0b131ee6;border:1px solid #738cb359;border-radius:clamp(7px,.8vh,10px);width:auto;padding:clamp(4px,.55vh,6px) clamp(7px,.75vw,10px);font-size:clamp(11px,1.35vh,13px)}.inline-link.active[data-v-0e01abc4]{background:#234a8c8c}.tag-cloud[data-v-0e01abc4]{flex-wrap:wrap;gap:clamp(4px,.6vh,7px);width:100%;max-height:clamp(92px,14vh,150px);padding-right:clamp(2px,.35vw,6px);display:flex;overflow:auto}.panel-block.tags-block .tag-cloud[data-v-0e01abc4]{background:#0c152373;border:1px solid #677ea557;border-radius:clamp(9px,1.1vh,13px);align-content:flex-start;min-height:clamp(124px,19vh,196px);max-height:clamp(148px,23vh,240px);padding:clamp(6px,.85vh,10px) clamp(4px,.55vw,8px) clamp(6px,.85vh,10px) clamp(6px,.85vh,10px)}.tag-cloud[data-v-0e01abc4],.list-body[data-v-0e01abc4]{scrollbar-width:thin;scrollbar-color:#80a5e08c #0b131e80}.tag-cloud[data-v-0e01abc4]::-webkit-scrollbar{width:clamp(7px,1vh,10px);height:clamp(7px,1vh,10px)}.list-body[data-v-0e01abc4]::-webkit-scrollbar{width:clamp(7px,1vh,10px);height:clamp(7px,1vh,10px)}.tag-cloud[data-v-0e01abc4]::-webkit-scrollbar-track{background:#0b131e80;border-radius:999px}.list-body[data-v-0e01abc4]::-webkit-scrollbar-track{background:#0b131e80;border-radius:999px}.tag-cloud[data-v-0e01abc4]::-webkit-scrollbar-thumb{background:linear-gradient(#6191e1e6,#4776c7e6);border:2px solid #0b131e80;border-radius:999px}.list-body[data-v-0e01abc4]::-webkit-scrollbar-thumb{background:linear-gradient(#6191e1e6,#4776c7e6);border:2px solid #0b131e80;border-radius:999px}.tag-cloud[data-v-0e01abc4]::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7eaffff2,#5288e2f2)}.list-body[data-v-0e01abc4]::-webkit-scrollbar-thumb:hover{background:linear-gradient(#7eaffff2,#5288e2f2)}.tag-chip[data-v-0e01abc4]{cursor:pointer;color:#dbe7ff;background:#0d1624e6;border:1px solid #738cb359;border-radius:999px;width:auto;padding:clamp(2px,.35vh,4px) clamp(7px,.75vw,10px);font-size:clamp(12px,1.45vh,14px);display:inline-flex}.tag-chip.active[data-v-0e01abc4]{background:#2659aab8;border-color:#7babfa99}.upload-btn[data-v-0e01abc4]{cursor:pointer;color:#e6efff;background:#1a2d4ebf;border:1px solid #6e8ab873;border-radius:clamp(9px,1vh,13px);padding:clamp(7px,.95vh,11px)}.course-btn[data-v-0e01abc4]{background:#143c628c;border-color:#73abff73}.list-panel[data-v-0e01abc4]{flex-direction:column;min-width:0;display:flex}.row[data-v-0e01abc4]{grid-template-columns:clamp(78px,9vh,98px) clamp(162px,19vh,214px) 1fr clamp(120px,14vh,165px);display:grid}.list-head[data-v-0e01abc4]{background:#121e31e6;border-bottom:1px solid #64799c4d;min-height:clamp(40px,5.2vh,48px);font-weight:700}.list-head>div[data-v-0e01abc4]{border-right:1px solid #677ea540;place-items:center;padding:0;line-height:1;display:grid}.list-head>div[data-v-0e01abc4]:last-child{border-right:0}.list-body[data-v-0e01abc4]{flex:1;min-height:0;overflow:auto}.entry[data-v-0e01abc4]{background:#0d1522b3;border-bottom:1px solid #617ba433;align-items:center;min-height:clamp(76px,10vh,92px)}.entry>div[data-v-0e01abc4]{border-right:1px solid #57719a29;align-items:center;padding:clamp(6px,.8vh,10px);display:flex}.entry>div[data-v-0e01abc4]:last-child{border-right:0}.vote-col[data-v-0e01abc4]{justify-content:space-between;align-items:center;gap:clamp(4px,.6vh,8px);width:100%;padding-inline:clamp(2px,.45vw,8px);display:flex}.vote-btn[data-v-0e01abc4]{cursor:pointer;color:#dbe7ff;background:#0a111de6;border:1px solid #738cb359;border-radius:clamp(6px,.8vh,10px);place-items:center;width:clamp(26px,3.4vh,34px);height:clamp(26px,3.4vh,34px);padding:0;display:grid}.vote-btn.active[data-v-0e01abc4]{color:#fff;background:#2563eb}.like-icon-svg[data-v-0e01abc4]{stroke:currentColor;stroke-width:1.9px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:clamp(13px,1.7vh,16px);height:clamp(13px,1.7vh,16px);line-height:1}.vote-btn.active .like-icon-svg[data-v-0e01abc4]{fill:#fff3}.like-count[data-v-0e01abc4]{text-align:right;font-variant-numeric:tabular-nums;min-width:2ch}.util-col[data-v-0e01abc4]{flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(4px,.6vh,8px);width:100%;padding-inline:clamp(3px,.45vw,8px);display:flex}.title-col[data-v-0e01abc4]{flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(4px,.6vh,8px);display:flex}.title-line[data-v-0e01abc4]{color:#f1f6ff;font-size:clamp(14px,1.95vh,18px);line-height:1.2}.tag-line[data-v-0e01abc4]{color:#a9bfdf;flex-wrap:wrap;gap:clamp(5px,.65vh,9px);font-size:clamp(12px,1.55vh,14px);line-height:1.2;display:flex}.composer-col[data-v-0e01abc4]{flex-direction:column;justify-content:center;align-items:center;gap:clamp(4px,.55vh,7px);display:flex}.composer-badge[data-v-0e01abc4]{background:#111d2ee6;border:1px solid #738cb359;border-radius:999px;place-items:center;width:clamp(34px,4.7vh,46px);height:clamp(34px,4.7vh,46px);font-weight:700;display:grid;overflow:hidden}.composer-avatar[data-v-0e01abc4]{object-fit:cover;width:100%;height:100%;display:block}.composer-name[data-v-0e01abc4]{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(11px,1.35vh,13px);overflow:hidden}.line-btn[data-v-0e01abc4]{cursor:pointer;color:#dfebff;background:#111d2fe6;border:1px solid #748db666;border-radius:clamp(7px,.8vh,10px);padding:clamp(6px,.8vh,9px) clamp(8px,.8vw,11px)}.line-btn.mini[data-v-0e01abc4]{place-items:center;width:clamp(44px,5.8vh,56px);min-height:clamp(36px,4.6vh,44px);padding:0;font-size:clamp(12px,1.45vh,14px);text-decoration:none;display:grid}.line-btn.danger[data-v-0e01abc4]{color:#ff8f8f}.play-btn[data-v-0e01abc4]{background:linear-gradient(#3de37e,#22c55e);border-color:#39bf67cc}.play-icon[data-v-0e01abc4]{color:#0a0a0a;font-size:clamp(15px,2.2vh,21px);line-height:1}.download-btn[data-v-0e01abc4]{color:#dbe7ff}.download-icon-svg[data-v-0e01abc4]{stroke:currentColor;stroke-width:2.1px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:clamp(20px,2.8vh,27px);height:clamp(20px,2.8vh,27px)}.report-btn[data-v-0e01abc4]{align-content:center;justify-items:center;gap:0;line-height:1;display:grid}.report-icon[data-v-0e01abc4]{font-size:clamp(11px,1.5vh,14px);line-height:.9}.report-text[data-v-0e01abc4]{text-transform:lowercase;margin-top:-1px;font-size:clamp(9px,1.1vh,11px);line-height:.9}.delete-btn[data-v-0e01abc4]{font-size:clamp(10px,1.2vh,12px);font-weight:700}.empty[data-v-0e01abc4]{color:#9cb2d4;padding:clamp(12px,1.6vh,20px)}@media (width<=980px){.hub-shell[data-v-0e01abc4],.community-content-shell[data-v-0e01abc4]{grid-template-columns:1fr}.left-panel[data-v-0e01abc4]{border-bottom:1px solid #64799c4d;border-right:0}.row[data-v-0e01abc4]{grid-template-columns:clamp(78px,9vh,94px) clamp(160px,19vh,206px) minmax(clamp(220px,30vh,280px),1fr) clamp(118px,13vh,146px);min-width:clamp(595px,76vh,720px)}}h2[data-v-9ec6df80]{text-align:center;margin:0 0 .8vh;padding-top:1vh;font-size:3vh}.connect-auth-compact[data-v-9ec6df80]{gap:1.1vh;width:100%;margin-top:0;display:grid}.auth-divider[data-v-9ec6df80]{align-items:center;gap:1.4vh;margin:1.8vh 0 1.9vh;display:flex}.auth-divider-line[data-v-9ec6df80]{background:#d2ddf061;flex:1;height:1px}.auth-divider-text[data-v-9ec6df80]{color:#ecf4ffd6;font-size:2.4vh;font-weight:600;line-height:1}.auth-divider-signup[data-v-9ec6df80]{margin-top:2.1vh;margin-bottom:1.1vh}.auth-divider-signup .auth-divider-text[data-v-9ec6df80]{font-size:2.3vh}.auth-field[data-v-9ec6df80]{background:#442957;border:1px solid #ae581e;border-radius:1.4vh;grid-template-columns:4.6vh 1fr 4.2vh;align-items:center;gap:.4vh;height:5.6vh;padding:0 .7vh;display:grid}.auth-field-icon[data-v-9ec6df80]{color:#adbbd0eb;justify-content:center;align-items:center;width:2.7vh;height:2.7vh;margin-left:.4vh;display:inline-flex}.auth-field-icon svg[data-v-9ec6df80]{width:100%;height:100%;display:block}.auth-field-input[data-v-9ec6df80]{color:#fff;background:0 0;border:none;border-radius:0;outline:none;padding:.2vh 0;font-size:2.05vh;font-weight:600}.auth-field-input[data-v-9ec6df80]::placeholder{color:#ffffffc2;font-weight:600}.auth-field-action[data-v-9ec6df80]{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:.8vh;justify-content:center;align-items:center;width:3.2vh;height:3.2vh;padding:0;display:inline-flex}.auth-field-action svg[data-v-9ec6df80]{width:2.6vh;height:2.6vh;display:block}.auth-field-action[data-v-9ec6df80]:hover{color:#fff}.auth-btn[data-v-9ec6df80]{cursor:pointer;border:none;border-radius:1.1vh;justify-content:center;align-items:center;height:5.6vh;padding:.95vh 1.2vh;font-size:2.05vh;font-weight:700;text-decoration:none;display:inline-flex}.auth-btn.primary[data-v-9ec6df80]{color:#42220cfa;background:linear-gradient(135deg,#ffcc78f2 0%,#ffad58e6 100%)}.auth-btn.secondary[data-v-9ec6df80]{color:#f2f7ff;background:#d6e4ff33}.auth-btn.auth-btn-login-register[data-v-9ec6df80]{color:#000;background:#ca6d21;border:1px solid #96d6df}.auth-link-shell[data-v-9ec6df80]{background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:100%;height:5.6vh;display:inline-flex}.auth-link-text[data-v-9ec6df80]{color:#9ec6fff2;text-underline-offset:.2vh;cursor:pointer;background:0 0;border:none;justify-self:center;padding:.2vh 0;font-size:1.9vh;font-weight:600;text-decoration:underline}.auth-link-text[data-v-9ec6df80]:hover{color:#c1ddff}.auth-feedback[data-v-9ec6df80]{text-align:center;margin:.8vh 0 0;font-size:1.55vh;font-weight:600}.auth-feedback--success[data-v-9ec6df80]{color:#a9ffd1}.auth-feedback--info[data-v-9ec6df80]{color:#b7d9ff}.auth-feedback--error[data-v-9ec6df80]{color:#ffb0b0}.auth-btn.google[data-v-9ec6df80]{color:#fff;background:#1a73e8;justify-content:center;gap:1.1vh;padding:.6vh 1.2vh;box-shadow:0 .35vh 1.4vh #1a73e861}.auth-btn.google[data-v-9ec6df80]:hover{background:#1765cc}.auth-google-icon[data-v-9ec6df80]{color:#1a73e8;background:#fff;border-radius:.8vh;justify-content:center;align-items:center;width:3.4vh;height:3.4vh;font-family:Arial,Helvetica,sans-serif;font-size:2vh;font-weight:800;display:inline-flex}h2[data-v-f98b9500]{text-align:center;margin:0 0 .8vh;padding-top:1vh;font-size:3vh}.profile-settings[data-v-f98b9500]{color:#fff;gap:2vh;width:min(100%,58vh);margin:0 auto;display:grid}button[data-v-f98b9500]{color:#fff;box-shadow:none;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:8px 10px}input[data-v-f98b9500],select[data-v-f98b9500],button[data-v-f98b9500],.btn[data-v-f98b9500]{color:#fff;box-shadow:none;background:0 0;border:none;border-radius:10px;padding:8px 10px}input[data-v-f98b9500]{border-radius:0}button[data-v-f98b9500]:disabled{opacity:.6;cursor:not-allowed}.app-text-input[data-v-f98b9500]{color:#fff;background:#442957;border:1px solid #ae581e;border-radius:10px}.app-text-input[data-v-f98b9500]::placeholder{color:#ffffffbd}.account-block[data-v-f98b9500]{box-shadow:none;color:#fff;background:0 0;border:1px solid #0000;border-radius:1.05vh;gap:.9vh;width:92%;margin:0 auto;padding:1.1vh 1vh;display:grid}.account-avatar-shell[data-v-f98b9500]{background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:clamp(88px,12vh,130px);height:clamp(88px,12vh,130px);display:flex;position:relative;overflow:hidden}.account-avatar-wrap[data-v-f98b9500]{width:clamp(88px,12vh,130px);height:clamp(88px,12vh,130px);margin:0 auto;position:relative;overflow:visible}.account-avatar-image[data-v-f98b9500]{object-fit:cover;width:100%;height:100%;display:block}.account-avatar-fallback[data-v-f98b9500]{font-size:clamp(30px,4.2vh,46px);font-weight:800}.account-image-input[data-v-f98b9500]{display:none}.account-avatar-edit-trigger[data-v-f98b9500]{color:#ffffffeb;opacity:0;background:#0a0a0c73;border:none;border-radius:999px;justify-content:center;align-items:center;transition:opacity .14s;display:flex;position:absolute;inset:0}.account-avatar-shell:hover .account-avatar-edit-trigger[data-v-f98b9500]:not(:disabled),.account-avatar-shell:focus-within .account-avatar-edit-trigger[data-v-f98b9500]:not(:disabled){opacity:1}.account-avatar-edit-trigger svg[data-v-f98b9500]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:36%;height:36%}.account-avatar-delete-btn[data-v-f98b9500]{color:#ffe9e9;z-index:2;background:#aa2222e6;border:1px solid #ffffff3d;border-radius:999px;justify-content:center;align-items:center;width:clamp(26px,3.2vh,34px);min-width:0;height:clamp(26px,3.2vh,34px);padding:0;display:flex;position:absolute;top:-.8vh;right:-.8vh}.account-avatar-delete-btn svg[data-v-f98b9500]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:62%;height:62%}.account-avatar-delete-btn[data-v-f98b9500]:hover:not(:disabled){filter:brightness(1.08)}.account-avatar-delete-btn[data-v-f98b9500]:disabled{opacity:.5}.account-username-label[data-v-f98b9500]{color:#fff;font-size:1.95vh;font-weight:700}.account-username-field[data-v-f98b9500]{position:relative}.account-username-action[data-v-f98b9500]{z-index:1;width:clamp(30px,3.8vh,42px);min-width:0;height:clamp(30px,3.8vh,42px);box-shadow:none;color:#ffffffd6;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;right:.7vh;transform:translateY(-50%)}.account-username-action[data-v-f98b9500]:hover:not(:disabled){color:#fff}.account-username-action svg[data-v-f98b9500]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:58%;height:58%}.account-username-field input[data-v-f98b9500]{width:100%;padding-right:5.1vh}.account-note[data-v-f98b9500]{color:#fff;margin:.2vh 0 0;font-size:1.55vh}.account-action-alt[data-v-f98b9500]{color:#42220cfa;background:linear-gradient(135deg,#ffcc78f2 0%,#ffad58e6 100%);border:none;font-weight:700}.account-actions[data-v-f98b9500]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.account-row-btn[data-v-f98b9500]{white-space:nowrap;justify-content:center;align-items:center;gap:.7vh;width:100%;display:inline-flex}.account-row-btn svg[data-v-f98b9500]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:clamp(14px,1.8vh,18px);height:clamp(14px,1.8vh,18px)}.account-delete-btn[data-v-f98b9500]{color:#ffe9e9;background:#aa2222e0;border:none}.auth-feedback[data-v-f98b9500]{text-align:center;margin:.8vh 0 0;font-size:1.55vh;font-weight:600}.auth-feedback--success[data-v-f98b9500]{color:#a9ffd1}.auth-feedback--info[data-v-f98b9500]{color:#b7d9ff}.auth-feedback--error[data-v-f98b9500]{color:#ffb0b0}.connect-root[data-v-9bdcf10e]{width:100%}h2[data-v-9bdcf10e]{text-align:center;margin:0 0 .8vh;padding-top:1vh;font-size:3vh}.auth-btn[data-v-9bdcf10e]{cursor:pointer;border:none;border-radius:1.1vh;justify-content:center;align-items:center;height:5.6vh;padding:.95vh 1.2vh;font-size:2.05vh;font-weight:700;text-decoration:none;display:inline-flex}.auth-btn.secondary[data-v-9bdcf10e]{color:#f2f7ff;background:#d6e4ff33}.auth-divider[data-v-9bdcf10e]{align-items:center;gap:1.4vh;margin:1.8vh 0 1.9vh;display:flex}.auth-divider-line[data-v-9bdcf10e]{background:#d2ddf061;flex:1;height:1px}.auth-divider-text[data-v-9bdcf10e]{color:#ecf4ffd6;font-size:2.4vh;font-weight:600;line-height:1}.auth-feedback[data-v-9bdcf10e]{text-align:center;margin:.8vh 0 0;font-size:1.55vh;font-weight:600}.auth-feedback--success[data-v-9bdcf10e]{color:#a9ffd1}.auth-feedback--info[data-v-9bdcf10e]{color:#b7d9ff}.auth-feedback--error[data-v-9bdcf10e]{color:#ffb0b0}.connect-status-box[data-v-9bdcf10e]{color:#fff;background:#201f23;border:1px solid #e75213;border-radius:1vh;grid-template-columns:1fr auto 1fr;gap:.8vh;margin-bottom:1vh;padding:1vh 1.2vh;display:grid}.connect-status-col[data-v-9bdcf10e]{gap:.45vh;display:grid}.connect-status-divider[data-v-9bdcf10e]{background:#e75213;align-self:stretch;width:1px;margin:0 1.2vh}.connect-status-line[data-v-9bdcf10e]{color:#fff;justify-content:space-between;gap:1vh;margin:0;font-size:2.325vh;display:flex}.connect-status-label[data-v-9bdcf10e]{color:#fff}.connect-options[data-v-9bdcf10e]{gap:1vh;display:grid}.connect-action[data-v-9bdcf10e]{color:#000;background:#ca6d21;border:1px solid #96d6df;width:100%;min-height:5.6vh}.connect-guide-list[data-v-9bdcf10e]{color:#e4f0fff0;gap:.8vh;margin:0;padding-left:2.2vh;font-size:2.4vh;line-height:1.35;display:grid}.connect-guide-image[data-v-9bdcf10e]{border:1px solid #d6e4ff59;border-radius:.8vh;width:min(100%,32vh);margin-top:.8vh;display:block;box-shadow:0 .6vh 1.8vh #00000059}@media (width<=980px){.connect-status-box[data-v-9bdcf10e]{grid-template-columns:1fr}.connect-status-divider[data-v-9bdcf10e]{width:auto;height:1px}}.library-head[data-v-1327081d]{justify-content:space-between;align-items:center;gap:1vh;display:flex}.library-head h2[data-v-1327081d]{text-align:left;margin:0;padding-top:0}.library-grid[data-v-1327081d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2vh;display:grid}.library-card[data-v-1327081d]{color:#fff;background:#201f23;border:1px solid #e75213;border-radius:1vh;grid-template-rows:auto auto auto;gap:.7vh;width:94%;min-width:0;margin:0 auto;padding:.8vh;display:grid}.library-media[data-v-1327081d]{width:100%}.library-thumbnail[data-v-1327081d]{aspect-ratio:16/9;object-fit:cover;background:#201f23;border-radius:.6vh;width:100%;display:block}.library-thumbnail--fallback[data-v-1327081d]{border:1px dashed #e75213;place-items:center;display:grid}.library-thumbnail--fallback svg[data-v-1327081d]{fill:none;stroke:#fff;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:clamp(38px,5vh,54px);height:clamp(38px,5vh,54px)}.library-title[data-v-1327081d]{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(12px,1.55vh,17px);line-height:1.15;overflow:hidden}.library-actions-row[data-v-1327081d]{justify-content:center;align-items:center;gap:.6vh;display:flex}.line-btn[data-v-1327081d]{cursor:pointer;color:#dfebff;background:#111d2fe6;border:1px solid #748db666;border-radius:clamp(7px,.8vh,10px);padding:clamp(6px,.8vh,9px) clamp(8px,.8vw,11px)}.line-btn.mini[data-v-1327081d]{place-items:center;width:clamp(34px,4.2vh,42px);min-height:clamp(30px,3.8vh,36px);padding:0;text-decoration:none;display:grid}.line-btn.danger[data-v-1327081d]{color:#ff8f8f}.library-icon-btn[data-v-1327081d]{transition:transform .12s,filter .12s}.library-icon-btn[data-v-1327081d]:hover{filter:none;border-color:#e75213;transform:none;box-shadow:0 0 .9vh #e7521373}.play-btn[data-v-1327081d]{background:linear-gradient(#3de37e,#22c55e);border-color:#39bf67cc}.play-icon[data-v-1327081d]{color:#0a0a0a;font-size:clamp(12px,1.8vh,17px);line-height:1}.edit-btn[data-v-1327081d]{color:#e7eeff}.edit-icon-svg[data-v-1327081d]{width:clamp(15px,2.1vh,20px);height:clamp(15px,2.1vh,20px)}.delete-btn[data-v-1327081d]{font-size:clamp(10px,1.2vh,12px);font-weight:700}.delete-icon-svg[data-v-1327081d]{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:clamp(15px,2.1vh,20px);height:clamp(15px,2.1vh,20px)}.library-pagination[data-v-1327081d]{flex-wrap:wrap;justify-content:center;gap:.5vh;margin-top:1.2vh;display:flex}.pagination-btn[data-v-1327081d]{color:#dfebff;cursor:pointer;background:#111d2fe6;border:1px solid #748db666;border-radius:clamp(7px,.8vh,10px);min-width:clamp(34px,4vh,42px);min-height:clamp(30px,3.8vh,36px);padding:0 .8vh}.pagination-btn[data-v-1327081d]:hover:not(:disabled){border-color:#e75213;box-shadow:0 0 .9vh #e7521373}.pagination-btn[data-v-1327081d]:disabled{opacity:.45;cursor:not-allowed}.pagination-btn--active[data-v-1327081d]{color:#0a0a0a;background:linear-gradient(#3de37e,#22c55e);border-color:#39bf67cc}@media (width<=980px){.library-grid[data-v-1327081d]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.library-grid[data-v-1327081d]{grid-template-columns:1fr}}.play-root[data-v-911c5777]{width:100%}h2[data-v-911c5777]{text-align:center;margin:0 0 .8vh;padding-top:1vh;font-size:3vh}.auth-btn[data-v-911c5777]{cursor:pointer;border:none;border-radius:1.1vh;justify-content:center;align-items:center;height:5.6vh;padding:.95vh 1.2vh;font-size:2.05vh;font-weight:700;text-decoration:none;display:inline-flex}.auth-btn.primary[data-v-911c5777]{color:#42220cfa;background:linear-gradient(135deg,#ffcc78f2 0%,#ffad58e6 100%)}.auth-btn.secondary[data-v-911c5777]{color:#f2f7ff;background:#d6e4ff33}.auth-feedback[data-v-911c5777]{text-align:center;margin:.8vh 0 0;font-size:1.55vh;font-weight:600}.auth-feedback--info[data-v-911c5777]{color:#b7d9ff}.record-play-layout[data-v-911c5777]{grid-template-columns:1fr 1fr;gap:1.2vh;width:100%;min-height:58vh;display:grid}.record-play-left[data-v-911c5777]{grid-template-rows:2fr 1fr 1fr;gap:1vh;min-height:58vh;display:grid}.record-pane[data-v-911c5777],.record-play-right[data-v-911c5777]{background:#d6e4ff14;border:1px solid #d6e4ff2e;border-radius:1.2vh;padding:1.2vh}.record-pane h3[data-v-911c5777],.record-play-right h3[data-v-911c5777]{margin:0 0 .6vh;font-size:2.2vh}.record-pane p[data-v-911c5777],.record-play-right p[data-v-911c5777]{color:#dcebffe6;margin:0;font-size:1.75vh}.record-pane-upload[data-v-911c5777]{text-align:center;align-content:start;gap:.8vh;display:grid}.record-dropzone[data-v-911c5777]{cursor:pointer;background:#442957;border:1px dashed #ae581e;border-radius:1vh;justify-items:center;gap:.8vh;padding:1.5vh 1vh;display:grid;position:relative}.record-dropzone.is-drop-active[data-v-911c5777]{background:#442957;border-color:#ae581e;box-shadow:0 0 0 .18vh #ae581e57}.record-file-input[data-v-911c5777]{opacity:0;cursor:pointer;position:absolute;inset:0}.record-drop-title[data-v-911c5777]{color:#fff;font-size:1.95vh;font-weight:700;line-height:1.2}.record-drop-subtitle[data-v-911c5777]{color:#fff;font-size:1.65vh;font-weight:700}.record-file-name[data-v-911c5777]{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin-top:.1vh;font-size:1.7vh;overflow:hidden}.record-pane-play[data-v-911c5777],.record-pane-start[data-v-911c5777]{align-content:center;display:grid}.record-play-btn[data-v-911c5777],.record-start-btn[data-v-911c5777]{width:100%;min-height:6vh}.record-play-btn.is-ready[data-v-911c5777]{border:1px solid #ffd692f2;box-shadow:0 0 1.6vh #ffb55fb3,0 0 3vh #ff915273}.record-play-right[data-v-911c5777]{text-align:center;place-items:center;min-height:58vh;display:grid}@media (width<=980px){.record-play-layout[data-v-911c5777]{grid-template-columns:1fr;min-height:0}.record-play-left[data-v-911c5777],.record-play-right[data-v-911c5777]{min-height:0}}.piano2midi-selection[data-v-7cf63e42]{gap:1.8vh;display:grid}.piano2midi-title[data-v-7cf63e42]{text-align:center;letter-spacing:.02vh;color:#e9a45f;margin:0;padding-top:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,7.6vh,108px);line-height:.95}.piano2midi-subtitle[data-v-7cf63e42]{text-align:center;color:#efe8cf;margin:0;font-size:clamp(22px,3.8vh,52px);line-height:1.2}.piano2midi-youtube-field[data-v-7cf63e42]{background:#442957;border:1px solid #ae581e;border-radius:2.1vh;align-items:center;gap:1.2vh;width:100%;padding:1.1vh 1.3vh;display:flex}.piano2midi-youtube-icon[data-v-7cf63e42]{flex:none;width:clamp(40px,6vh,74px);height:clamp(28px,4.4vh,52px)}.piano2midi-youtube-icon svg[data-v-7cf63e42]{width:100%;height:100%;display:block}.piano2midi-youtube-icon svg path[data-v-7cf63e42]:first-child{fill:#ea2328}.piano2midi-youtube-icon svg path[data-v-7cf63e42]:last-child{fill:#1e1234}.piano2midi-youtube-input[data-v-7cf63e42]{width:100%;box-shadow:none;color:#fff;background:0 0;border:none;outline:none;flex:1;padding:0;font-size:clamp(20px,3.2vh,38px)}.piano2midi-youtube-input[data-v-7cf63e42]::placeholder{color:#ffffffbd}.piano2midi-divider[data-v-7cf63e42]{align-items:center;gap:1.8vh;display:flex}.piano2midi-divider span[data-v-7cf63e42]{background:#e9e6dcd1;flex:1;height:.22vh}.piano2midi-divider strong[data-v-7cf63e42]{color:#efe8cf;font-size:clamp(28px,4.2vh,56px);line-height:1}.piano2midi-dropzone[data-v-7cf63e42]{cursor:pointer;background:#442957;border:.35vh dashed #ae581e;border-radius:2vh;justify-items:center;gap:1vh;width:100%;padding:2.6vh 1.8vh;display:grid;position:relative}.piano2midi-dropzone.is-drag-active[data-v-7cf63e42]{background:#442957;border-color:#ae581e;box-shadow:0 0 0 .2vh #ae581e57}.piano2midi-file-input[data-v-7cf63e42]{opacity:0;cursor:pointer;position:absolute;inset:0}.piano2midi-drop-icon[data-v-7cf63e42]{color:#d8a060;width:clamp(58px,7.4vh,90px);height:clamp(58px,7.4vh,90px)}.piano2midi-drop-icon svg[data-v-7cf63e42]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.piano2midi-drop-title[data-v-7cf63e42]{text-align:center;color:#fff;font-size:clamp(24px,3.8vh,44px);font-weight:700}.piano2midi-drop-subtitle[data-v-7cf63e42]{text-align:center;color:#fff;font-size:clamp(20px,3.2vh,34px);font-weight:700}.piano2midi-selected-file[data-v-7cf63e42]{text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#fff;max-width:100%;font-size:clamp(16px,2.4vh,26px);overflow:hidden}.piano2midi-consent[data-v-7cf63e42]{color:#efe8cf;align-items:flex-start;gap:1.2vh;font-size:clamp(18px,2.7vh,30px);line-height:1.35;display:flex}.piano2midi-consent-checkbox[data-v-7cf63e42]{background:#534d7ab8;border:1px solid #636085e6;border-radius:.7vh;width:clamp(22px,2.9vh,34px);height:clamp(22px,2.9vh,34px);margin-top:.35vh}.piano2midi-start-btn[data-v-7cf63e42]{color:#efe8cf;cursor:pointer;background:#2b214fd1;border:1px solid #584c82e6;border-radius:2vh;justify-content:center;align-items:center;gap:1.2vh;width:100%;min-height:clamp(62px,8vh,92px);font-size:clamp(24px,3.8vh,40px);font-weight:700;display:inline-flex}.piano2midi-start-btn svg[data-v-7cf63e42]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:clamp(24px,3.2vh,36px);height:clamp(24px,3.2vh,36px)}.piano2midi-start-btn[data-v-7cf63e42]:disabled{opacity:.55;cursor:not-allowed}.auth-feedback[data-v-7cf63e42]{text-align:center;margin:.4vh 0 0;font-size:clamp(15px,2.3vh,28px)}.auth-feedback--success[data-v-7cf63e42]{color:#a9ffd1}.auth-feedback--info[data-v-7cf63e42]{color:#b7d9ff}.auth-feedback--error[data-v-7cf63e42]{color:#ffb0b0}@media (width<=980px){.piano2midi-selection[data-v-7cf63e42]{gap:1.4vh}}.piano2midi-processing-shell[data-v-6d81b814]{gap:1vh;display:grid}.piano2midi-processing-layout[data-v-6d81b814]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:1vh;display:grid}.piano2midi-processing-video[data-v-6d81b814]{background:#241c42cc;border:1px solid #5c537ecc;border-radius:1.8vh;min-height:34vh;overflow:hidden}.piano2midi-video-embed[data-v-6d81b814]{border:none;width:100%;height:100%;min-height:34vh}.piano2midi-video-fallback[data-v-6d81b814]{text-align:center;color:#efe8cf;place-content:center;gap:.8vh;width:100%;height:100%;min-height:34vh;padding:1.2vh;display:grid}.piano2midi-video-fallback strong[data-v-6d81b814]{font-size:clamp(20px,3.1vh,32px)}.piano2midi-video-fallback span[data-v-6d81b814]{color:#efe8cfcc;font-size:clamp(14px,2.1vh,22px)}.piano2midi-processing-side[data-v-6d81b814]{background:#241c42c7;border:1px solid #5c537ecc;border-radius:1.8vh;align-content:stretch;gap:.9vh;padding:1.1vh;display:grid}.piano2midi-processing-top[data-v-6d81b814]{background:#2d2450b8;border:1px solid #7469a2cc;border-radius:1vh;justify-content:space-between;align-items:center;gap:.8vh;padding:.6vh .8vh;display:flex}.piano2midi-status-text[data-v-6d81b814]{color:#fff6ea;overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:clamp(16px,2.2vh,26px);font-weight:700;line-height:1.08}.piano2midi-back-btn[data-v-6d81b814]{color:#f9f1df;background:#42392894;border:1px solid #c2b8a2cc;border-radius:1vh;min-width:11vh;padding:0 1vh;font-size:clamp(14px,1.95vh,22px);font-weight:700}.piano2midi-back-btn[data-v-6d81b814]:disabled{opacity:.5;cursor:not-allowed}.piano2midi-quit-btn[data-v-6d81b814]{color:#ffe6e6;background:#6128289e;border:1px solid #e28f8feb;border-radius:1vh;min-width:11vh;padding:0 1vh;font-size:clamp(14px,1.95vh,22px);font-weight:700}.piano2midi-quit-btn[data-v-6d81b814]:disabled{opacity:.5;cursor:not-allowed}.piano2midi-coffee-btn[data-v-6d81b814]{color:#f4ecda;text-align:left;cursor:pointer;background:#312557d1;border:1px solid #6e609bdb;border-radius:1.2vh;gap:.7vh;width:100%;padding:1vh 1.1vh;font-size:clamp(14px,2.1vh,20px);line-height:1.35;display:grid}.piano2midi-coffee-main[data-v-6d81b814]{background:#1c1438b8;border:1px solid #8c78c3b3;border-radius:1vh;align-items:center;gap:.7vh;width:fit-content;padding:.45vh .75vh;font-size:clamp(18px,2.7vh,30px);font-weight:700;display:inline-flex}.piano2midi-coffee-icon[data-v-6d81b814]{width:clamp(24px,3.1vh,34px);height:clamp(24px,3.1vh,34px);display:inline-flex}.piano2midi-coffee-icon svg[data-v-6d81b814]{fill:currentColor;stroke:none;width:100%;height:100%}.piano2midi-coffee-support[data-v-6d81b814]{color:#f4ecdae6;font-size:clamp(13px,1.9vh,18px);display:block}.piano2midi-primary-action[data-v-6d81b814]{color:#fff;cursor:not-allowed;text-overflow:ellipsis;white-space:nowrap;background:#413f518f;border:1px solid #aaa6bae0;border-radius:1.1vh;width:100%;min-height:clamp(76px,10vh,124px);padding:.35vh .7vh;font-size:clamp(24px,3.3vh,42px);font-weight:800;overflow:hidden}.piano2midi-primary-action.is-ready[data-v-6d81b814]{cursor:pointer;background:linear-gradient(135deg,#ffbb4ef2,#ee851efa);border:1px solid #ffd68af2;box-shadow:0 0 1.3vh #ffaa4173,inset 0 0 1vh #ffefca3d}.piano2midi-primary-action[data-v-6d81b814]:disabled{opacity:1}.piano2midi-progress-glow[data-v-6d81b814]{animation:1.45s ease-in-out infinite piano2midi-progress-glow-6d81b814}.piano2midi-restore-shell[data-v-6d81b814]{text-align:center;color:#efe8cf;background:#241c42c7;border:1px solid #5c537ecc;border-radius:1.8vh;place-content:center;gap:1vh;min-height:28vh;display:grid}.piano2midi-restore-dot[data-v-6d81b814]{background:#e8a45d;border-radius:999px;width:clamp(14px,2vh,24px);height:clamp(14px,2vh,24px);margin:0 auto;animation:1.1s ease-in-out infinite piano2midi-restore-pulse-6d81b814;box-shadow:0 0 #e8a45da6}.piano2midi-restore-text[data-v-6d81b814]{margin:0;font-size:clamp(18px,2.9vh,32px);font-weight:700}@keyframes piano2midi-restore-pulse-6d81b814{0%,to{transform:scale(1);box-shadow:0 0 #e8a45d33}50%{transform:scale(1.15);box-shadow:0 0 1.2vh #e8a45dbf}}@keyframes piano2midi-progress-glow-6d81b814{0%,to{color:#ffe0abb8;text-shadow:0 0 #ffaf4b00}50%{color:#fffaec;text-shadow:0 0 .9vh #ffaf4ba6}}@media (width<=980px){.piano2midi-processing-layout[data-v-6d81b814]{grid-template-columns:1fr}.piano2midi-back-btn[data-v-6d81b814]{min-height:4.8vh}.piano2midi-processing-video[data-v-6d81b814],.piano2midi-video-embed[data-v-6d81b814],.piano2midi-video-fallback[data-v-6d81b814]{min-height:24vh}}:root{--layout-vh-unit:1vh}.embedded-player-host{--layout-vh-unit:1vh;--layout-device:laptop;--layout-header-vh:12;--layout-play-vh:77;--layout-piano-vh:16.5;--layout-piano-black-vh:11.5;--layout-timeline-vh:6.5;--layout-header-offset-gap-vh:1;--layout-editor-overlay-margin-vh:1.2;--layout-header-inline-padding-vw:1.85;--layout-header-content-gap-vh:2;--layout-header-side-gap-vh:1.5;--layout-timeline-inline-padding-vw:2;--layout-timeline-wrapper-max-width:92%;--layout-timeline-wrapper-gap-vh:.7;--layout-header-height:max(calc(var(--layout-header-vh) * 6px), calc(var(--layout-header-vh) * var(--layout-vh-unit)));--layout-header-content-gap:max(calc(var(--layout-header-content-gap-vh) * 6px), calc(var(--layout-header-content-gap-vh) * var(--layout-vh-unit)));--layout-header-side-gap:max(calc(var(--layout-header-side-gap-vh) * 6px), calc(var(--layout-header-side-gap-vh) * var(--layout-vh-unit)));--layout-play-height:calc(var(--layout-play-vh) * var(--layout-vh-unit));--layout-piano-height:calc(var(--layout-piano-vh) * var(--layout-vh-unit));--layout-piano-black-height:calc(var(--layout-piano-black-vh) * var(--layout-vh-unit));--layout-timeline-height:calc(var(--layout-timeline-vh) * var(--layout-vh-unit));--layout-header-offset:max(calc((var(--layout-header-vh) + var(--layout-header-offset-gap-vh)) * 6px), calc((var(--layout-header-vh) + var(--layout-header-offset-gap-vh)) * var(--layout-vh-unit)));--layout-editor-overlay-top:max(calc((var(--layout-header-vh) + var(--layout-editor-overlay-margin-vh)) * 6px), calc((var(--layout-header-vh) + var(--layout-editor-overlay-margin-vh)) * var(--layout-vh-unit)));--layout-editor-overlay-top-ui-hidden:max(calc(var(--layout-editor-overlay-margin-vh) * 6px), calc(var(--layout-editor-overlay-margin-vh) * var(--layout-vh-unit)));--timeline-track-height:.8vh;--timeline-track-radius:.4vh;--timeline-control-height:5vh;--timeline-control-min-width:13vh;--timeline-control-gap-vh:.8;--timeline-control-font-size:1.95vh;--timeline-time-min-width:18vh;--timeline-time-font-size:2.1vh;--timeline-fullscreen-size:5vh;--timeline-fullscreen-icon-size:4vh;--timeline-fullscreen-icon-exit-offset:.08vh;--timeline-thumb-size:2vh;--timeline-thumb-border-width:.3vh;--timeline-range-handle-width:.8vh;--timeline-range-handle-height:5vh;--timeline-range-handle-border-width:.2vh;--timeline-range-handle-radius:.6vh;--timeline-track-side-gap-vh:1;isolation:isolate;width:100vw;height:100dvh;position:relative;overflow:hidden}@supports (height:100dvh){:root,.embedded-player-host{--layout-vh-unit:1dvh}}@media (width>=801px) and (width<=1199px){.embedded-player-host{--layout-device:tablet;--layout-play-vh:75;--layout-timeline-vh:8.5;--layout-header-inline-padding-vw:1.6;--layout-header-content-gap-vh:1.7;--layout-header-side-gap-vh:1.25;--layout-timeline-inline-padding-vw:2.7;--layout-timeline-wrapper-max-width:95%;--timeline-track-height:.68vh;--timeline-track-side-gap-vh:1.9;--timeline-control-height:7.2vh;--timeline-fullscreen-size:7.2vh;--timeline-control-font-size:2.1vh;--timeline-time-font-size:2.25vh;--timeline-fullscreen-icon-size:4.2vh;--timeline-range-handle-height:7.2vh}}@media (width<=800px){.embedded-player-host{--layout-device:mobile;--layout-play-vh:75;--layout-timeline-vh:8.5;--layout-header-inline-padding-vw:1.2;--layout-header-content-gap-vh:1.35;--layout-header-side-gap-vh:1.05;--layout-timeline-inline-padding-vw:3.6;--layout-timeline-wrapper-max-width:100%;--timeline-track-height:.56vh;--timeline-track-side-gap-vh:2.4;--timeline-control-height:7.1vh;--timeline-control-min-width:13.2vh;--timeline-control-font-size:1.95vh;--timeline-time-min-width:17.2vh;--timeline-time-font-size:2.05vh;--timeline-fullscreen-size:7.1vh;--timeline-fullscreen-icon-size:3.9vh;--timeline-thumb-size:1.85vh;--timeline-thumb-border-width:.26vh;--timeline-range-handle-height:7.1vh;--timeline-range-handle-width:.72vh;--timeline-track-wrapper-max-width:82%;--timeline-track-to-hide-gap-vh:1.8}}@media (width<=800px) and (orientation:portrait){.embedded-player-host{--layout-header-vh:9.8;--layout-header-offset-gap-vh:.45;--layout-header-inline-padding-vw:.8;--layout-header-content-gap-vh:.4;--layout-header-side-gap-vh:.25}}@media (width>=801px) and (width<=1199px) and (orientation:portrait){.embedded-player-host{--layout-header-vh:19.2}}@media (width>=1200px) and (orientation:landscape){.embedded-player-host{--timeline-track-wrapper-max-width:84%;--timeline-track-to-hide-gap-vh:1.5}}.embedded-player-host .bg{pointer-events:none;background-color:var(--bg-surface,#14000f);background-image:radial-gradient(120vw 90vh at 20% 25%, rgba(var(--bg-primary-rgb,150, 80, 255), var(--bg-ambient-primary-opacity,.24)) 0%, rgba(var(--bg-primary-rgb,150, 80, 255), 0) 62%), radial-gradient(90vw 78vh at 82% 18%, rgba(var(--bg-secondary-rgb,255, 122, 139), var(--bg-ambient-secondary-opacity,.2)) 0%, rgba(var(--bg-secondary-rgb,255, 122, 139), 0) 58%), radial-gradient(104vw 92vh at 56% 78%, rgba(var(--bg-detail-rgb,107, 224, 255), var(--bg-ambient-detail-opacity,.08)) 0%, rgba(var(--bg-detail-rgb,107, 224, 255), 0) 64%), linear-gradient(var(--bg-gradient-angle,135deg), var(--bg-base,#0e0a0f) 0%, var(--bg-surface,#14000f) var(--bg-gradient-balance,60%), var(--bg-surface,#14000f) 100%);contain:paint;background-repeat:no-repeat;transition:background .35s,background-color .35s;position:fixed;inset:0;overflow:hidden;z-index:0!important}.embedded-player-host .bg.bg-webgpu-active{background:0 0}.embedded-player-host .bg.bg-webgpu-active:before,.embedded-player-host .bg.bg-webgpu-active:after{content:none;animation:none}.embedded-player-host .bg-webgpu-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.embedded-player-host .bg:before,.embedded-player-host .bg:after{content:"";pointer-events:none;transition:opacity .35s,transform .35s,filter .35s;position:absolute;inset:-8%}.embedded-player-host .bg:before{background-image:var(--bg-detail-before-image,none);background-repeat:var(--bg-detail-before-repeat,no-repeat);background-size:var(--bg-detail-before-size,100% 100%);background-position:var(--bg-detail-before-position,center);opacity:var(--bg-detail-before-opacity,1);filter:var(--bg-detail-before-filter,none);animation:var(--bg-detail-before-animation,none)}.embedded-player-host .bg:after{background-image:var(--bg-detail-after-image,none);background-repeat:var(--bg-detail-after-repeat,no-repeat);background-size:var(--bg-detail-after-size,100% 100%);background-position:var(--bg-detail-after-position,center);opacity:var(--bg-detail-after-opacity,1);filter:var(--bg-detail-after-filter,none);animation:var(--bg-detail-after-animation,none)}.embedded-player-host .piano-view{z-index:1;position:relative}.embedded-player-host .piano-view.editor-mode .sheet-note.selected,.embedded-player-host .piano-view.editor-mode .sheet-sustain.selected{z-index:100!important;--editor-note-scale:1!important;background:linear-gradient(#ff69b4 0%,#ff1493 100%)!important;border:3px solid #ff69b4!important;box-shadow:0 0 30px #ff69b4cc!important}.sheet-note.waiting-for-input,.sheet-sustain.waiting-for-input{animation:1.5s infinite pulse-shadow-notes-orange;opacity:1!important;z-index:1000!important;background:linear-gradient(#ff6b35 0%,#ff8f65 50%,#ff6b35 100%)!important;border:2px solid #ff6b35!important;box-shadow:0 0 10px #ff6b35cc,0 0 20px #ff6b3599!important}.sheet-note.correct-input,.sheet-sustain.correct-input{background:linear-gradient(#28a745 0%,#20c997 50%,#28a745 100%)!important;border:2px solid #28a745!important;box-shadow:0 0 15px #28a745cc,0 0 25px #20c99799!important}.sheet-note.incorrect-input,.sheet-sustain.incorrect-input{background:linear-gradient(#dc3545 0%,#e74c3c 50%,#dc3545 100%)!important;border:2px solid #dc3545!important;box-shadow:0 0 10px #dc3545cc,0 0 20px #e74c3c99!important}@keyframes pulse-shadow-notes-orange{0%,to{opacity:.98}50%{opacity:1}}.embedded-player-host[data-v-27f6f25c]{isolation:isolate;width:100vw;height:100dvh;position:relative;overflow:hidden}.embedded-player-host .bg[data-v-27f6f25c]{z-index:0}.embedded-player-host[data-v-27f6f25c] .piano-view{z-index:1;position:relative}.app-shell[data-v-27f6f25c]{--viewport-unit:1vh;--header-height:var(--layout-header-height,calc(12 * var(--layout-vh-unit,1vh)));--header-vh-unit:max(calc(.95 * var(--layout-vh-unit,1vh)), 6px);--header-control-size:clamp(42px, calc(7 * var(--layout-vh-unit,1vh)), calc(7 * var(--layout-vh-unit,1vh)));--header-inline-padding:calc(var(--layout-header-inline-padding-vw,1.85) * 1vw);--header-content-gap:var(--layout-header-content-gap,max(calc(var(--layout-header-content-gap-vh,2) * 6px), calc(var(--layout-header-content-gap-vh,2) * var(--layout-vh-unit,1vh))));--header-side-gap:var(--layout-header-side-gap,max(calc(var(--layout-header-side-gap-vh,1.5) * 6px), calc(var(--layout-header-side-gap-vh,1.5) * var(--layout-vh-unit,1vh))));color:#dbe7ff;background:0 0;min-height:100dvh;position:relative}.app-shell.portrait-vh-to-vw[data-v-27f6f25c]{--viewport-unit:1vw}.app-shell .bg[data-v-27f6f25c]{z-index:0;pointer-events:none;background-color:var(--bg-surface,#14000f);background-image:radial-gradient(120vw 90vh at 20% 25%, rgba(var(--bg-primary-rgb,150, 80, 255), var(--bg-ambient-primary-opacity,.24)) 0%, rgba(var(--bg-primary-rgb,150, 80, 255), 0) 62%), radial-gradient(90vw 78vh at 82% 18%, rgba(var(--bg-secondary-rgb,255, 122, 139), var(--bg-ambient-secondary-opacity,.2)) 0%, rgba(var(--bg-secondary-rgb,255, 122, 139), 0) 58%), radial-gradient(104vw 92vh at 56% 78%, rgba(var(--bg-detail-rgb,107, 224, 255), var(--bg-ambient-detail-opacity,.08)) 0%, rgba(var(--bg-detail-rgb,107, 224, 255), 0) 64%), linear-gradient(var(--bg-gradient-angle,135deg), var(--bg-base,#0e0a0f) 0%, var(--bg-surface,#14000f) var(--bg-gradient-balance,60%), var(--bg-surface,#14000f) 100%);contain:paint;background-repeat:no-repeat;transition:background .35s,background-color .35s;position:fixed;inset:0;overflow:hidden}.app-shell .bg.bg-webgpu-active[data-v-27f6f25c]{background:0 0}.app-shell .bg.bg-webgpu-active[data-v-27f6f25c]:before,.app-shell .bg.bg-webgpu-active[data-v-27f6f25c]:after{content:none;animation:none}.app-shell .bg[data-v-27f6f25c]:before,.app-shell .bg[data-v-27f6f25c]:after{content:"";pointer-events:none;transition:opacity .35s,transform .35s,filter .35s;position:absolute;inset:-8%}.app-shell .bg[data-v-27f6f25c]:before{background-image:var(--bg-detail-before-image,none);background-repeat:var(--bg-detail-before-repeat,no-repeat);background-size:var(--bg-detail-before-size,100% 100%);background-position:var(--bg-detail-before-position,center);opacity:var(--bg-detail-before-opacity,1);filter:var(--bg-detail-before-filter,none);animation:var(--bg-detail-before-animation,none)}.app-shell .bg[data-v-27f6f25c]:after{background-image:var(--bg-detail-after-image,none);background-repeat:var(--bg-detail-after-repeat,no-repeat);background-size:var(--bg-detail-after-size,100% 100%);background-position:var(--bg-detail-after-position,center);opacity:var(--bg-detail-after-opacity,1);filter:var(--bg-detail-after-filter,none);animation:var(--bg-detail-after-animation,none)}.header-container[data-v-27f6f25c]{width:100%;height:var(--header-height);padding:0 var(--header-inline-padding);z-index:10;pointer-events:auto;background:linear-gradient(130deg,#3e1e18f2 0%,#7e3c2ae6 48%,#2f203af2 100%);border-bottom:.1vh solid #ffdc78b8;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;box-shadow:0 .2vh 1vh #00000080,0 0 4.2vh #ffd65a8c,0 0 1.8vh #ffba266b,inset 0 .1vh #fff5c42e}.header-theme-sunset-glass[data-v-27f6f25c]{--btn-off-darkblue:#1f3f86;--btn-off-violet:#5a2ea6;--btn-on-lightblue:#71d1ff;--btn-on-pink:#ff76d8;background:linear-gradient(135deg,#561c0e 0%,#a84218 52%,#48140c 100%)!important;border-bottom:.1vh solid #ffa85cbf!important;box-shadow:0 .2vh 1vh #00000094,0 0 3.6vh #ff7c306b,0 0 1.6vh #ffab5c47,inset 0 .1vh #ffdeaa1f!important}.piano-header[data-v-27f6f25c]{width:100%;height:100%;padding:0 var(--header-inline-padding);justify-content:space-between;align-items:center;gap:var(--header-content-gap);display:flex}.piano-header-left[data-v-27f6f25c],.piano-header-right[data-v-27f6f25c]{align-items:center;gap:var(--header-side-gap);flex:1;display:flex}.piano-header-right[data-v-27f6f25c]{justify-content:flex-end}.brand[data-v-27f6f25c]{align-items:center;gap:calc(1 * var(--header-vh-unit));height:100%;display:flex}.brand-logo[data-v-27f6f25c]{height:calc(var(--header-height) * .96);width:auto;max-height:100%;max-width:min(78vw, calc(var(--header-height) * 3.2));object-fit:contain;filter:drop-shadow(0 0 .8vh #ffb65a73);display:block}.brand-text[data-v-27f6f25c]{font-size:clamp(27px, calc(3.45 * var(--header-vh-unit)), 51px);letter-spacing:.02em;color:#fff1dcfa;text-shadow:0 0 .8vh #ffb65a73,0 0 1.5vh #ff7a4059;white-space:nowrap;font-weight:800;line-height:1}.header-btn[data-v-27f6f25c]{border:max(1px, calc(.1 * var(--header-vh-unit))) solid #b0bcffc7;cursor:pointer;color:#f5f7fffa;text-shadow:0 0 calc(1 * var(--header-vh-unit)) #a0b4ff9e;background:linear-gradient(135deg, var(--btn-off-darkblue) 0%, var(--btn-off-violet) 100%);justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:0 .4vh 2vh #00000073,0 0 2.8vh #5874d675,inset 0 .1vh #dce3ff33}.header-btn[data-v-27f6f25c]:before{content:"";pointer-events:none;background:radial-gradient(circle,#d608a640 0%,#0000 70%);border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.header-btn[data-v-27f6f25c]:hover{background:linear-gradient(135deg, var(--btn-on-lightblue) 0%, var(--btn-on-pink) 100%);border-color:#e4baffe6;box-shadow:0 .8vh 3vh #00000080,0 0 4vh #c37aff9e,inset 0 .1vh #e9eeff4d}.header-btn[data-v-27f6f25c]:hover:before{width:calc(20 * var(--header-vh-unit));height:calc(20 * var(--header-vh-unit))}.header-btn[data-v-27f6f25c]:disabled{opacity:.6;cursor:not-allowed}.oval-btn[data-v-27f6f25c]{height:var(--header-control-size);padding:0 calc(2 * var(--header-vh-unit));border-radius:calc(4.5 * var(--header-vh-unit));font-size:calc(1.55 * var(--header-vh-unit));min-width:calc(15 * var(--header-vh-unit));line-height:1.1}.round-btn[data-v-27f6f25c]{width:var(--header-control-size);height:var(--header-control-size);font-size:calc(1.5 * var(--header-vh-unit));border-radius:50%;padding:0;line-height:1}.profile-avatar-btn[data-v-27f6f25c]{padding:0}.profile-avatar-image[data-v-27f6f25c]{object-fit:cover;width:100%;height:100%;display:block}.profile-avatar-fallback[data-v-27f6f25c]{font-size:calc(2.2 * var(--header-vh-unit));font-weight:800}.guest-only[data-v-27f6f25c]{display:inline-flex}.login-btn[data-v-27f6f25c]{font-size:calc(2.325 * var(--header-vh-unit))}.settings-menu[data-v-27f6f25c]{position:relative}.settings-btn[data-v-27f6f25c]{width:var(--header-control-size);min-width:var(--header-control-size);height:var(--header-control-size);border-radius:50%;padding:0}.settings-icon[data-v-27f6f25c]{width:clamp(24px, calc(var(--header-control-size) * .52), 42px);height:clamp(24px, calc(var(--header-control-size) * .52), 42px);display:block}.settings-dropdown[data-v-27f6f25c]{z-index:20;background:#0a101cfa;border:1px solid #808eb48c;border-radius:1vh;gap:.2vh;min-width:clamp(180px,24vh,250px);padding:.5vh;display:grid;position:absolute;top:calc(100% + .7vh);right:0;box-shadow:0 .8vh 2.3vh #0006}.settings-menu-item[data-v-27f6f25c]{color:#e8f1ff;cursor:pointer;background:0 0;border:none;border-radius:.7vh;justify-content:flex-start;width:100%;padding:.75vh .9vh;font-size:1.7vh;font-weight:600;text-decoration:none;display:flex}.settings-menu-item[data-v-27f6f25c]:hover{background:#3f588859}.settings-menu-item[data-v-27f6f25c]:disabled{opacity:.55;cursor:not-allowed}.settings-menu-item--danger[data-v-27f6f25c]{color:#ffb0b0}.lang-menu[data-v-27f6f25c]{--lang-trigger-color:#ecf3fff7;--lang-dropdown-bg:#182032fa;--lang-dropdown-border:#748eb68c;--lang-dropdown-shadow:#060a1473;--lang-dropdown-text:#e7effff5;--lang-dropdown-hover:#9eb9e83d;--lang-dropdown-active-bg:#7eaaf64d;--lang-dropdown-active-text:#fff;height:var(--header-control-size);padding-bottom:calc(1.1 * var(--header-vh-unit));margin-bottom:calc(-1.1 * var(--header-vh-unit));align-items:center;display:flex;position:relative}.lang-menu--light[data-v-27f6f25c]{--lang-trigger-color:#fff0dcfa;--lang-dropdown-bg:#f5f2ecfa;--lang-dropdown-border:#bfb298a3;--lang-dropdown-shadow:#3c26163d;--lang-dropdown-text:#563a20f2;--lang-dropdown-hover:#ffc68a4d;--lang-dropdown-active-bg:#ffa85c61;--lang-dropdown-active-text:#482208fa}.lang-trigger[data-v-27f6f25c]{color:var(--lang-trigger-color);align-items:center;gap:calc(.9 * var(--header-vh-unit));padding:0 calc(.8 * var(--header-vh-unit));height:100%;font-size:clamp(18px, calc(2.25 * var(--header-vh-unit)), 30px);cursor:pointer;background:0 0;border:none;font-weight:700;display:inline-flex}.lang-globe[data-v-27f6f25c]{width:clamp(18px, calc(2.5 * var(--header-vh-unit)), 32px);height:clamp(18px, calc(2.5 * var(--header-vh-unit)), 32px);fill:none;stroke:currentColor;stroke-width:1.8px}.lang-current[data-v-27f6f25c]{line-height:1}.lang-chevron[data-v-27f6f25c]{width:clamp(16px, calc(2.2 * var(--header-vh-unit)), 28px);height:clamp(16px, calc(2.2 * var(--header-vh-unit)), 28px);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.lang-menu:hover .lang-chevron[data-v-27f6f25c],.lang-menu:focus-within .lang-chevron[data-v-27f6f25c]{transform:rotate(180deg)}.lang-dropdown[data-v-27f6f25c]{background:var(--lang-dropdown-bg);border:.15vh solid var(--lang-dropdown-border);min-width:clamp(220px,24vh,340px);box-shadow:0 1.1vh 3vh var(--lang-dropdown-shadow);opacity:0;pointer-events:none;z-index:25;border-radius:1.2vh;gap:.2vh;padding:1vh .7vh;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:calc(100% - .3vh);left:-.3vh;transform:translateY(-.4vh)}.lang-menu:hover .lang-dropdown[data-v-27f6f25c],.lang-menu:focus-within .lang-dropdown[data-v-27f6f25c]{opacity:1;pointer-events:auto;transform:translateY(0)}.lang-dropdown button[data-v-27f6f25c]{color:var(--lang-dropdown-text);justify-content:flex-start;align-items:center;gap:calc(.8 * var(--header-vh-unit));text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.8vh;padding:clamp(10px,1.05vh,16px) clamp(10px,1.1vh,18px);font-size:clamp(18px,2.2vh,32px);font-weight:700;line-height:1.2;display:inline-flex}.lang-dropdown button[data-v-27f6f25c]:hover{background:var(--lang-dropdown-hover)}.lang-dropdown button.active[data-v-27f6f25c]{background:var(--lang-dropdown-active-bg);color:var(--lang-dropdown-active-text)}.lang-option-code[data-v-27f6f25c]{min-width:calc(3.6 * var(--header-vh-unit));letter-spacing:.04em;font-weight:800}.lang-option-label[data-v-27f6f25c]{font-weight:700}.theme-toggle-btn[data-v-27f6f25c]{width:var(--header-control-size);min-width:var(--header-control-size);height:var(--header-control-size);border-radius:50%;padding:0}.theme-icon[data-v-27f6f25c]{width:clamp(36px, calc(var(--header-control-size) * .75), 66px);height:clamp(36px, calc(var(--header-control-size) * .75), 66px);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.theme-icon--sun circle[data-v-27f6f25c]{fill:currentColor;stroke:none}.theme-icon--sun path[data-v-27f6f25c]{stroke:currentColor}.theme-icon--moon path[data-v-27f6f25c]{fill:currentColor;stroke:none}.floating-sidebar-toggle[data-v-27f6f25c],.floating-sidebar-backdrop[data-v-27f6f25c]{display:none}.layout[data-v-27f6f25c]{height:calc(100 * var(--viewport-unit));padding-top:var(--header-height);z-index:1;display:block;position:relative;overflow:visible}.stage[data-v-27f6f25c]{width:100%;height:calc((100 * var(--viewport-unit)) - var(--header-height));grid-template-columns:18vw 1fr;align-items:stretch;gap:0;display:grid;overflow:visible}.pane[data-v-27f6f25c]{border:.2vh solid color-mix(in oklab, var(--pane-accent,#f9681f) 55%, transparent);background:linear-gradient(180deg, color-mix(in oklab, var(--pane-accent,#f9681f) 5%, transparent), #08080c57);-webkit-backdrop-filter:blur(1vh)saturate(135%);border-radius:5vh;position:relative;overflow:hidden;box-shadow:0 2.6vh 8vh #0000008c,inset 0 0 0 .1vh #ffffff12}.pane[data-v-27f6f25c]:hover{border-color:color-mix(in oklab, var(--pane-accent,#f9681f) 70%, transparent);box-shadow:0 1.6vh 4.8vh #000000a6, 0 0 0 .1vh color-mix(in oklab, var(--pane-accent,#f9681f) 35%, transparent) inset, 0 1vh 3.4vh color-mix(in oklab, var(--pane-accent,#f9681f) 25%, transparent)}.pane[data-v-27f6f25c]:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(63vh 48vh at var(--px-pane,50%) var(--py-pane,50%), color-mix(in oklab, var(--pane-accent,#f9681f) 35%, transparent) 0%, color-mix(in oklab, var(--pane-accent,#f9681f) 14%, transparent) 35%, transparent 72%);filter:blur(.5vh);transition:opacity .25s;position:absolute;inset:0}.pane[data-v-27f6f25c]:hover:before{opacity:1}.pane--left[data-v-27f6f25c]{--pane-accent:#f9681f;-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:none;border-radius:0;transition:none;overflow:visible}.pane--left[data-v-27f6f25c]:before{display:none}.pane--left[data-v-27f6f25c]:hover{box-shadow:none;background:0 0;border-color:#0000}.pane--right[data-v-27f6f25c]{--pane-accent:#f9d51f;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;display:grid}.pane--right[data-v-27f6f25c]:hover{box-shadow:none;background:0 0;border-color:#0000}.pane--right[data-v-27f6f25c]:before{display:none}.content-pane[data-v-27f6f25c]{background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:flex-start;min-height:100%;margin:1.8vh;padding:5vh .8vh 1.2vh;display:flex;overflow:auto}.content-pane[data-v-27f6f25c]>*{width:100%;margin-left:auto;margin-right:auto}.sidebar[data-v-27f6f25c]{grid-template-rows:auto auto auto 1fr auto;gap:1.8vh;height:100%;padding:2.4vh 1.6vh;display:grid}.sidebar-spacer[data-v-27f6f25c]{min-height:0}.sidebar-pane[data-v-27f6f25c]{--pane-accent:#f9681f;border:.2vh solid color-mix(in oklab, var(--pane-accent) 55%, transparent);background:linear-gradient(180deg, color-mix(in oklab, var(--pane-accent) 5%, transparent), #08080c57);-webkit-backdrop-filter:blur(1vh)saturate(135%);border-radius:2.2vh;flex-direction:column;justify-content:center;gap:.9vh;padding:1.2vh 1.4vh;display:flex;position:relative;overflow:hidden;box-shadow:0 2vh 5vh #00000073,inset 0 0 0 .1vh #ffffff0f}.sidebar-pane[data-v-27f6f25c]:hover{border-color:color-mix(in oklab, var(--pane-accent) 70%, transparent);box-shadow:0 1.2vh 3.6vh #00000094, 0 0 0 .1vh color-mix(in oklab, var(--pane-accent) 35%, transparent) inset, 0 .8vh 2.2vh color-mix(in oklab, var(--pane-accent) 25%, transparent)}.sidebar-pane[data-v-27f6f25c]:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(40vh 24vh at var(--px-pane,50%) var(--py-pane,50%), color-mix(in oklab, var(--pane-accent) 35%, transparent) 0%, color-mix(in oklab, var(--pane-accent) 14%, transparent) 35%, transparent 72%);filter:blur(.4vh);transition:opacity .25s;position:absolute;inset:0}.sidebar-pane[data-v-27f6f25c]:hover:before{opacity:1}.sidebar-link[data-v-27f6f25c]{color:#ffecd6fa;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:1.1vh;padding:.6vh .2vh;font-size:1.45vh;font-weight:700;line-height:1.15;display:flex}.sidebar-link.active .link-label[data-v-27f6f25c],.sidebar-link:hover .link-label[data-v-27f6f25c]{color:#ffc882;text-shadow:0 0 1.1vh #ff994294}.link-icon[data-v-27f6f25c]{color:#ffad5ef5;text-shadow:0 0 .7vh #ff994270;justify-content:center;align-items:center;width:3.8vh;min-width:3.8vh;font-size:2.8vh;display:inline-flex}.sidebar-link.active .link-icon[data-v-27f6f25c],.sidebar-link:hover .link-icon[data-v-27f6f25c]{color:#ffc882}.link-icon svg[data-v-27f6f25c]{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;width:86%;height:86%;display:block}.link-label[data-v-27f6f25c]{color:#fff3dcf5;letter-spacing:.02vh;font-size:2.35vh;font-weight:700}.social-grid[data-v-27f6f25c]{grid-template-columns:repeat(4,1fr);gap:.8vh;margin-top:.2vh;display:grid}.social-link[data-v-27f6f25c]{color:#fff3dcf5;cursor:pointer;text-shadow:0 0 .6vh #ffa95a52;background:0 0;border:none;justify-content:center;align-items:center;padding:.4vh;display:inline-flex}.social-link[data-v-27f6f25c]:hover{color:#ffcb8c;text-shadow:0 0 1.1vh #ffa2488c}.social-glyph[data-v-27f6f25c]{color:#ffad5efa;justify-content:center;align-items:center;width:3.8vh;height:3.8vh;display:inline-flex}.social-glyph svg[data-v-27f6f25c]{fill:currentColor;width:3.6vh;height:3.6vh;display:block}.card[data-v-27f6f25c]{-webkit-backdrop-filter:none;box-shadow:none;box-sizing:border-box;background:0 0;border:none;border-radius:1.8vh;gap:1vh;width:100%;margin-bottom:1.1vh;margin-left:auto;margin-right:auto;padding:1.4vh;display:grid}.card.communityhub-card[data-v-27f6f25c]{background:#120e1a8c}.card.container-wide[data-v-27f6f25c]{width:80%;padding-left:1vh;padding-right:1vh}.card.container-medium[data-v-27f6f25c]{width:60%}.card.container-narrow[data-v-27f6f25c]{width:40%}.card>h2[data-v-27f6f25c]{text-align:center;margin:0 0 .8vh;padding-top:1vh;font-size:3vh}.piano2midi-card[data-v-27f6f25c]{background:0 0;gap:1.8vh;width:68%;padding:.6vh .2vh 1.4vh}.piano2midi-optimizer[data-v-27f6f25c]{background:#211a3cb8;border:1px solid #7971abc2;border-radius:1.7vh;gap:.9vh;width:min(100%,860px);margin:0 auto;padding:1.3vh 1.4vh;display:grid}.piano2midi-optimizer-title[data-v-27f6f25c]{color:#efe8cf;margin:0;font-size:clamp(20px,3vh,34px);font-weight:700}.piano2midi-optimizer-subtitle[data-v-27f6f25c]{color:#efe8cfd1;margin:0;font-size:clamp(13px,2.1vh,18px)}.piano2midi-optimizer-field[data-v-27f6f25c]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8vh;display:grid}.piano2midi-optimizer-input[data-v-27f6f25c]{color:#fff;background:#442957;border:1px solid #ae581e;border-radius:1.1vh;min-height:clamp(48px,6.6vh,68px);padding:0 1vh;font-size:clamp(15px,2.2vh,22px)}.piano2midi-optimizer-input[data-v-27f6f25c]::placeholder{color:#ffffffbd}.piano2midi-optimizer-btn[data-v-27f6f25c]{color:#fff;background:linear-gradient(135deg,#e8a142f5,#c67e28fa);border:1px solid #ecb04ef2;border-radius:1.1vh;min-height:clamp(48px,6.6vh,68px);padding:0 1.3vh;font-size:clamp(16px,2.25vh,24px);font-weight:700}.piano2midi-optimizer-btn[data-v-27f6f25c]:disabled{opacity:.6;cursor:not-allowed}.piano2midi-optimizer-feedback[data-v-27f6f25c]{color:#ffcc9e;margin:0;font-size:clamp(13px,1.9vh,18px)}.piano2midi-title[data-v-27f6f25c]{text-align:center;letter-spacing:.02vh;color:#e9a45f;margin:0;padding-top:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,7.6vh,108px);line-height:.95}.piano2midi-subtitle[data-v-27f6f25c]{text-align:center;color:#efe8cf;margin:0;font-size:clamp(22px,3.8vh,52px);line-height:1.2}.piano2midi-youtube-field[data-v-27f6f25c]{background:#2a214cb3;border:1px solid #53467cc7;border-radius:2.1vh;align-items:center;gap:1.2vh;width:100%;padding:1.1vh 1.5vh;display:flex}.piano2midi-youtube-icon[data-v-27f6f25c]{flex:none;width:clamp(34px,4.8vh,54px);height:clamp(24px,3.4vh,40px)}.piano2midi-youtube-icon svg[data-v-27f6f25c]{width:100%;height:100%;display:block}.piano2midi-youtube-icon svg path[data-v-27f6f25c]:first-child{fill:#ea2328}.piano2midi-youtube-icon svg path[data-v-27f6f25c]:last-child{fill:#1e1234}.piano2midi-youtube-input[data-v-27f6f25c]{width:100%;box-shadow:none;color:#f8f0dc;background:0 0;border:none;outline:none;flex:1;padding:0;font-size:clamp(20px,3.2vh,38px)}.piano2midi-youtube-input[data-v-27f6f25c]::placeholder{color:#d3cdbfb3}.piano2midi-divider[data-v-27f6f25c]{align-items:center;gap:1.8vh;display:flex}.piano2midi-divider span[data-v-27f6f25c]{background:#e9e6dcd1;flex:1;height:.22vh}.piano2midi-divider strong[data-v-27f6f25c]{color:#efe8cf;font-size:clamp(28px,4.2vh,56px);line-height:1}.piano2midi-dropzone[data-v-27f6f25c]{cursor:pointer;background:#362b5a8f;border:.35vh dashed #5f6352b8;border-radius:2vh;justify-items:center;gap:1vh;width:100%;padding:2.6vh 1.8vh;display:grid;position:relative}.piano2midi-dropzone.is-drag-active[data-v-27f6f25c]{background:#433769cc;border-color:#8f9874f2}.piano2midi-file-input[data-v-27f6f25c]{opacity:0;cursor:pointer;position:absolute;inset:0}.piano2midi-drop-icon[data-v-27f6f25c]{color:#d8a060;width:clamp(58px,7.4vh,90px);height:clamp(58px,7.4vh,90px)}.piano2midi-drop-icon svg[data-v-27f6f25c]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.piano2midi-drop-title[data-v-27f6f25c]{text-align:center;color:#efe8cf;font-size:clamp(24px,3.8vh,44px);font-weight:700}.piano2midi-drop-subtitle[data-v-27f6f25c]{text-align:center;color:#e4a260;font-size:clamp(20px,3.2vh,34px);font-weight:700}.piano2midi-selected-file[data-v-27f6f25c]{text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#f8f0dc;max-width:100%;font-size:clamp(16px,2.4vh,26px);overflow:hidden}.piano2midi-consent[data-v-27f6f25c]{color:#efe8cf;align-items:flex-start;gap:1.2vh;font-size:clamp(18px,2.7vh,30px);line-height:1.35;display:flex}.piano2midi-consent-checkbox[data-v-27f6f25c]{background:#534d7ab8;border:1px solid #636085e6;border-radius:.7vh;width:clamp(22px,2.9vh,34px);height:clamp(22px,2.9vh,34px);margin-top:.35vh}.piano2midi-start-btn[data-v-27f6f25c]{color:#efe8cf;background:#2b214fd1;border:1px solid #584c82e6;border-radius:2vh;justify-content:center;align-items:center;gap:1.2vh;width:100%;min-height:clamp(62px,8vh,92px);font-size:clamp(24px,3.8vh,40px);font-weight:700;display:inline-flex}.piano2midi-start-btn svg[data-v-27f6f25c]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:clamp(24px,3.2vh,36px);height:clamp(24px,3.2vh,36px)}.piano2midi-start-btn[data-v-27f6f25c]:disabled{opacity:.55;cursor:not-allowed}.piano2midi-result-link[data-v-27f6f25c]{justify-self:center;width:fit-content}.piano2midi-processing-layout[data-v-27f6f25c]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:1.6vh;display:grid}.piano2midi-processing-video[data-v-27f6f25c]{background:#241c42cc;border:1px solid #5c537ecc;border-radius:1.8vh;min-height:34vh;overflow:hidden}.piano2midi-video-embed[data-v-27f6f25c]{border:none;width:100%;height:100%;min-height:34vh}.piano2midi-video-fallback[data-v-27f6f25c]{text-align:center;color:#efe8cf;place-content:center;gap:.8vh;width:100%;height:100%;min-height:34vh;padding:1.2vh;display:grid}.piano2midi-video-fallback strong[data-v-27f6f25c]{font-size:clamp(20px,3.1vh,32px)}.piano2midi-video-fallback span[data-v-27f6f25c]{color:#efe8cfcc;font-size:clamp(14px,2.1vh,22px)}.piano2midi-processing-side[data-v-27f6f25c]{background:#241c42c7;border:1px solid #5c537ecc;border-radius:1.8vh;align-content:start;gap:1.2vh;padding:1.4vh 1.2vh;display:grid}.piano2midi-queue-label[data-v-27f6f25c]{color:#efe8cf;margin:0;font-size:clamp(16px,2.5vh,28px);font-weight:700}.piano2midi-wave-text[data-v-27f6f25c]{color:#e8a45d;letter-spacing:.02vh;flex-wrap:wrap;gap:.04em;min-height:clamp(30px,4.2vh,52px);margin:0;font-size:clamp(24px,3.8vh,46px);font-weight:700;display:flex}.piano2midi-wave-text span[data-v-27f6f25c]{animation:1.45s ease-in-out infinite piano2midi-wave-27f6f25c;display:inline-block}.piano2midi-wave-text.is-complete span[data-v-27f6f25c]{color:#efe8cf;text-shadow:none;animation:none}.piano2midi-coffee-btn[data-v-27f6f25c]{color:#f4ecda;text-align:left;background:#312557d1;border:1px solid #6e609bdb;border-radius:1.2vh;gap:.7vh;width:100%;padding:1vh 1.1vh;font-size:clamp(14px,2.1vh,20px);line-height:1.35;display:grid}.piano2midi-coffee-main[data-v-27f6f25c]{background:#1c1438b8;border:1px solid #8c78c3b3;border-radius:1vh;align-items:center;gap:.7vh;width:fit-content;padding:.45vh .75vh;font-size:clamp(18px,2.7vh,30px);font-weight:700;display:inline-flex}.piano2midi-coffee-icon[data-v-27f6f25c]{width:clamp(24px,3.1vh,34px);height:clamp(24px,3.1vh,34px);display:inline-flex}.piano2midi-coffee-icon svg[data-v-27f6f25c]{fill:currentColor;stroke:none;width:100%;height:100%}.piano2midi-coffee-support[data-v-27f6f25c]{color:#f4ecdae6;font-size:clamp(13px,1.9vh,18px);display:block}.piano2midi-play-highlight[data-v-27f6f25c]{color:#ffffffeb;width:100%;min-height:clamp(52px,7vh,84px);box-shadow:none;cursor:not-allowed;background:#70707e73;border:1px solid #828291d9;border-radius:1.4vh;font-size:clamp(22px,3.7vh,40px);font-weight:800;animation:none;transform:none}.piano2midi-play-highlight.is-ready[data-v-27f6f25c]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e8a142f5,#c67e28fa);border:1px solid #ecb04ef2}.piano2midi-play-highlight[data-v-27f6f25c]:disabled{opacity:1}.support-card[data-v-27f6f25c]{align-items:center}.support-link[data-v-27f6f25c]{width:fit-content}.kofi-embed[data-v-27f6f25c]{background:#f9f9f9;border:none;border-radius:1vh;width:100%;min-height:712px;padding:4px;display:block}.connect-auth-compact[data-v-27f6f25c]{gap:1.1vh;width:100%;margin-top:0;display:grid}.auth-title[data-v-27f6f25c]{text-align:center;margin:.4vh 0 .3vh;font-size:2.6vh;font-weight:700}.auth-label[data-v-27f6f25c]{color:#ecf4ffe6;margin:.3vh 0 0;font-size:1.95vh;font-weight:600}.auth-divider[data-v-27f6f25c]{align-items:center;gap:1.4vh;margin:1.8vh 0 1.9vh;display:flex}.auth-divider-line[data-v-27f6f25c]{background:#d2ddf061;flex:1;height:1px}.auth-divider-text[data-v-27f6f25c]{color:#ecf4ffd6;font-size:2.4vh;font-weight:600;line-height:1}.auth-divider-signup[data-v-27f6f25c]{margin-top:2.1vh;margin-bottom:1.1vh}.auth-divider-signup .auth-divider-text[data-v-27f6f25c]{font-size:2.3vh}.auth-title-divider[data-v-27f6f25c]{margin-top:1vh}.auth-input[data-v-27f6f25c]{color:#f5f9ff;background:#d6e4ff33;height:5.2vh;padding:.95vh 1.2vh;font-size:1.95vh}.auth-input[data-v-27f6f25c]::placeholder{color:#ecf4ffcc}.auth-field[data-v-27f6f25c]{background:#d6e4ff29;border:1px solid #ecf4ff1a;border-radius:1.4vh;grid-template-columns:4.6vh 1fr 4.2vh;align-items:center;gap:.4vh;height:5.6vh;padding:0 .7vh;display:grid}.auth-field-icon[data-v-27f6f25c]{color:#adbbd0eb;justify-content:center;align-items:center;width:2.7vh;height:2.7vh;margin-left:.4vh;display:inline-flex}.auth-field-icon svg[data-v-27f6f25c]{width:100%;height:100%;display:block}.auth-field-input[data-v-27f6f25c]{color:#f5f9ff;background:0 0;border:none;border-radius:0;outline:none;padding:.2vh 0;font-size:2.05vh;font-weight:600}.auth-field-input[data-v-27f6f25c]::placeholder{color:#adbbd0f5;font-weight:600}.auth-field-action[data-v-27f6f25c]{color:#adbbd0eb;cursor:pointer;background:0 0;border:none;border-radius:.8vh;justify-content:center;align-items:center;width:3.2vh;height:3.2vh;padding:0;display:inline-flex}.auth-field-action svg[data-v-27f6f25c]{width:2.6vh;height:2.6vh;display:block}.auth-field-action[data-v-27f6f25c]:hover{color:#cbdbf3}.auth-btn[data-v-27f6f25c]{border-radius:1.1vh;justify-content:center;align-items:center;height:5.6vh;padding:.95vh 1.2vh;font-size:2.05vh;font-weight:700;text-decoration:none;display:inline-flex}.auth-btn.primary[data-v-27f6f25c]{color:#42220cfa;background:linear-gradient(135deg,#ffcc78f2 0%,#ffad58e6 100%)}.auth-btn.secondary[data-v-27f6f25c]{color:#f2f7ff;background:#d6e4ff33}.auth-link-shell[data-v-27f6f25c]{background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:100%;height:5.6vh;display:inline-flex}.auth-link-text[data-v-27f6f25c]{color:#9ec6fff2;text-underline-offset:.2vh;cursor:pointer;background:0 0;border:none;justify-self:center;padding:.2vh 0;font-size:1.9vh;font-weight:600;text-decoration:underline}.auth-link-text[data-v-27f6f25c]:hover{color:#c1ddff}.auth-feedback[data-v-27f6f25c]{text-align:center;margin:.8vh 0 0;font-size:1.55vh;font-weight:600}.auth-feedback--success[data-v-27f6f25c]{color:#a9ffd1}.auth-feedback--info[data-v-27f6f25c]{color:#b7d9ff}.auth-feedback--error[data-v-27f6f25c]{color:#ffb0b0}.auth-btn.google[data-v-27f6f25c]{color:#fff;background:#1a73e8;justify-content:center;gap:1.1vh;padding:.6vh 1.2vh;box-shadow:0 .35vh 1.4vh #1a73e861}.auth-btn.google[data-v-27f6f25c]:hover{background:#1765cc}.auth-google-icon[data-v-27f6f25c]{color:#1a73e8;background:#fff;border-radius:.8vh;justify-content:center;align-items:center;width:3.4vh;height:3.4vh;font-family:Arial,Helvetica,sans-serif;font-size:2vh;font-weight:800;display:inline-flex}.grid-2[data-v-27f6f25c]{grid-template-columns:1fr 1fr;gap:12px;display:grid}input[data-v-27f6f25c],select[data-v-27f6f25c],button[data-v-27f6f25c],.btn[data-v-27f6f25c]{color:#eaf2ff;box-shadow:none;background:#0b131ee6;border:none;border-radius:10px;padding:8px 10px}input[data-v-27f6f25c]{border-radius:0}.app-text-input[data-v-27f6f25c]{color:#fff;background:#442957;border:1px solid #ae581e;border-radius:10px}.app-text-input[data-v-27f6f25c]::placeholder{color:#ffffffbd}button[data-v-27f6f25c],.btn[data-v-27f6f25c]{cursor:pointer}.btn[data-v-27f6f25c]{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn.secondary[data-v-27f6f25c]{background:#1b375fa6;border-color:#6095e973}.avatar[data-v-27f6f25c]{object-fit:cover;border:none;border-radius:999px;width:72px;height:72px}#stripe-embedded-checkout[data-v-27f6f25c]{min-height:600px}.app-shell.portrait-vh-to-vw .layout[data-v-27f6f25c]{padding-top:var(--header-height)}.app-shell.portrait-vh-to-vw .stage[data-v-27f6f25c]{height:calc((100 * var(--viewport-unit)) - var(--header-height));grid-template-columns:1fr}.app-shell.portrait-vh-to-vw .pane--left[data-v-27f6f25c]{z-index:50;opacity:0;pointer-events:none;width:min(76vw,420px);max-height:117vw;transition:opacity .2s,transform .2s;position:fixed;bottom:14vw;right:3vw;transform:translateY(1.8vw)scale(.98)}.app-shell.portrait-vh-to-vw.floating-sidebar-open .pane--left[data-v-27f6f25c]{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.app-shell.portrait-vh-to-vw .sidebar[data-v-27f6f25c]{background:#0f0a19e6;border:.25vw solid #ffb25e73;border-radius:3vw;gap:2.7vw;height:auto;max-height:117vw;padding:3.6vw 2.4vw;overflow:auto;box-shadow:0 1.6vw 5.8vw #0000008f}.app-shell.portrait-vh-to-vw .sidebar-pane[data-v-27f6f25c]{gap:1.35vw;padding:1.8vw 2.1vw}.app-shell.portrait-vh-to-vw .sidebar-link[data-v-27f6f25c]{gap:1.65vw;padding:.9vw .3vw}.app-shell.portrait-vh-to-vw .link-icon[data-v-27f6f25c]{width:5.6vw;min-width:5.6vw;font-size:4.2vw}.app-shell.portrait-vh-to-vw .link-label[data-v-27f6f25c]{font-size:3.525vw}.app-shell.portrait-vh-to-vw .piano2midi-card[data-v-27f6f25c]{gap:2.4vw;padding:1.2vw .4vw 2vw}.app-shell.portrait-vh-to-vw .piano2midi-optimizer[data-v-27f6f25c]{border-radius:2.6vw;gap:1.2vw;padding:2.1vw 2.3vw}.app-shell.portrait-vh-to-vw .piano2midi-optimizer-title[data-v-27f6f25c]{font-size:clamp(18px,4.2vw,30px)}.app-shell.portrait-vh-to-vw .piano2midi-optimizer-subtitle[data-v-27f6f25c]{font-size:clamp(12px,3.2vw,19px)}.app-shell.portrait-vh-to-vw .piano2midi-optimizer-field[data-v-27f6f25c]{grid-template-columns:1fr;gap:1.4vw}.app-shell.portrait-vh-to-vw .piano2midi-optimizer-input[data-v-27f6f25c],.app-shell.portrait-vh-to-vw .piano2midi-optimizer-btn[data-v-27f6f25c]{border-radius:2vw;min-height:10vw;font-size:clamp(14px,3.7vw,24px)}.app-shell.portrait-vh-to-vw .piano2midi-optimizer-feedback[data-v-27f6f25c]{font-size:clamp(12px,3vw,18px)}.app-shell.portrait-vh-to-vw .piano2midi-title[data-v-27f6f25c]{font-size:clamp(44px,11vw,120px)}.app-shell.portrait-vh-to-vw .piano2midi-subtitle[data-v-27f6f25c]{font-size:clamp(20px,4.5vw,46px)}.app-shell.portrait-vh-to-vw .piano2midi-youtube-field[data-v-27f6f25c]{border-radius:2.6vw;gap:1.4vw;padding:1.6vw 2vw}.app-shell.portrait-vh-to-vw .piano2midi-youtube-icon[data-v-27f6f25c]{width:6.8vw;height:4.8vw}.app-shell.portrait-vh-to-vw .piano2midi-youtube-input[data-v-27f6f25c]{font-size:clamp(18px,4vw,34px)}.app-shell.portrait-vh-to-vw .piano2midi-divider[data-v-27f6f25c]{gap:2.1vw}.app-shell.portrait-vh-to-vw .piano2midi-divider strong[data-v-27f6f25c]{font-size:clamp(22px,5.1vw,48px)}.app-shell.portrait-vh-to-vw .piano2midi-dropzone[data-v-27f6f25c]{border-width:.35vw;border-radius:2.8vw;gap:1.3vw;padding:3.4vw 2.2vw}.app-shell.portrait-vh-to-vw .piano2midi-drop-icon[data-v-27f6f25c]{width:9.8vw;height:9.8vw}.app-shell.portrait-vh-to-vw .piano2midi-drop-title[data-v-27f6f25c]{font-size:clamp(20px,4.5vw,40px)}.app-shell.portrait-vh-to-vw .piano2midi-drop-subtitle[data-v-27f6f25c]{font-size:clamp(16px,3.7vw,30px)}.app-shell.portrait-vh-to-vw .piano2midi-selected-file[data-v-27f6f25c]{font-size:clamp(14px,3.3vw,24px)}.app-shell.portrait-vh-to-vw .piano2midi-consent[data-v-27f6f25c]{gap:1.5vw;font-size:clamp(14px,3.8vw,30px)}.app-shell.portrait-vh-to-vw .piano2midi-consent-checkbox[data-v-27f6f25c]{width:4.2vw;height:4.2vw;margin-top:.45vw}.app-shell.portrait-vh-to-vw .piano2midi-start-btn[data-v-27f6f25c]{border-radius:2.8vw;gap:1.7vw;min-height:10vw;font-size:clamp(20px,4.7vw,38px)}.app-shell.portrait-vh-to-vw .piano2midi-start-btn svg[data-v-27f6f25c]{width:4.2vw;height:4.2vw}.app-shell.portrait-vh-to-vw .social-grid[data-v-27f6f25c]{gap:1.2vw}.app-shell.portrait-vh-to-vw .social-glyph[data-v-27f6f25c]{width:5.7vw;height:5.7vw}.app-shell.portrait-vh-to-vw .social-glyph svg[data-v-27f6f25c]{width:5.4vw;height:5.4vw}.app-shell.portrait-vh-to-vw .floating-sidebar-toggle[data-v-27f6f25c]{z-index:60;background:#353842eb;border:.28vw solid #c8d4eb73;border-radius:1.6vw;flex-direction:column;justify-content:center;align-items:center;gap:1.2vw;width:12vw;min-width:0;height:12vw;padding:1.8vw;display:inline-flex;position:fixed;bottom:3vw;right:3vw;box-shadow:0 1vw 2.8vw #0006}.app-shell.portrait-vh-to-vw .floating-sidebar-toggle-bar[data-v-27f6f25c]{background:#f0f3fcf2;border-radius:999px;width:6.4vw;height:.64vw;display:block}.app-shell.portrait-vh-to-vw .floating-sidebar-backdrop[data-v-27f6f25c]{z-index:45;background:#00000040;border:none;border-radius:0;display:block;position:fixed;inset:0}.app-shell.portrait-vh-to-vw .content-pane[data-v-27f6f25c]{margin:1vw;padding-top:1vw}.app-shell.portrait-vh-to-vw .card.container-wide[data-v-27f6f25c],.app-shell.portrait-vh-to-vw .card.container-medium[data-v-27f6f25c],.app-shell.portrait-vh-to-vw .card.container-narrow[data-v-27f6f25c]{width:100%;min-height:calc(96 * var(--viewport-unit))}@media (width<=980px){.header-container[data-v-27f6f25c]{height:var(--header-height)}.layout[data-v-27f6f25c]{padding-top:var(--header-height)}.stage[data-v-27f6f25c]{width:100%;height:calc((100 * var(--viewport-unit)) - var(--header-height));grid-template-columns:1fr}.grid-2[data-v-27f6f25c]{grid-template-columns:1fr}.card.container-wide[data-v-27f6f25c],.card.container-medium[data-v-27f6f25c],.card.container-narrow[data-v-27f6f25c]{width:100%;padding-left:1.4vh;padding-right:1.4vh}.piano2midi-processing-layout[data-v-27f6f25c]{grid-template-columns:1fr}.piano2midi-processing-video[data-v-27f6f25c],.piano2midi-video-embed[data-v-27f6f25c],.piano2midi-video-fallback[data-v-27f6f25c]{min-height:24vh}}@media (width<=767px){.brand-text[data-v-27f6f25c]{display:none}}@keyframes piano2midi-wave-27f6f25c{0%,to{color:#e8a45d99;text-shadow:0 0 #e8a45d00}50%{color:#ffcd91;text-shadow:0 0 1.2vh #e8a45d8c}}@keyframes piano2midi-play-pulse-27f6f25c{0%,to{transform:scale(1);box-shadow:0 0 1.3vh #77ffbb73}50%{transform:scale(1.03);box-shadow:0 0 2.4vh #90ffcbc7}}@keyframes bg-flash-27f6f25c{0%,10%,12%,36%,38%,62%,64%,to{opacity:.62;transform:scale(1)}11%{opacity:.98;transform:scale(1.012)}37%{opacity:.92;transform:scale(1.008)}63%{opacity:1;transform:scale(1.014)}}@keyframes bg-flash-secondary-27f6f25c{0%,18%,20%,47%,49%,78%,80%,to{opacity:.34;transform:scale(.985)}19%{opacity:.82;transform:scale(1.018)}48%{opacity:.74;transform:scale(1.012)}79%{opacity:.88;transform:scale(1.02)}}@keyframes bg-drift-27f6f25c{0%{transform:translate(-1.9%,-1.2%)rotate(-1.4deg)scale(1.02)}24%{transform:translate(.8%,-.6%)rotate(.2deg)scale(1.045)}52%{transform:translate(2.5%,1.6%)rotate(1.8deg)scale(1.03)}76%{transform:translate(-.5%,2.2%)rotate(.4deg)scale(1.05)}to{transform:translate(-1.9%,-1.2%)rotate(-1.4deg)scale(1.02)}}@keyframes bg-drift-reverse-27f6f25c{0%{transform:translate(1.6%,1.1%)rotate(1.2deg)scale(.985)}18%{transform:translate(2.3%,-.3%)rotate(1.9deg)scale(1.01)}47%{transform:translate(-1.2%,-1.7%)rotate(-1.3deg)scale(1.035)}73%{transform:translate(-2.6%,.8%)rotate(-2deg)scale(1.015)}to{transform:translate(1.6%,1.1%)rotate(1.2deg)scale(.985)}}@keyframes bg-flicker-27f6f25c{0%,16%,34%,58%,to{opacity:.88}10%,26%{opacity:.56}42%{opacity:1}74%{opacity:.66}}@keyframes bg-flicker-secondary-27f6f25c{0%,22%,48%,76%,to{opacity:.7}12%,36%{opacity:.42}62%{opacity:.92}84%{opacity:.5}}