@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/dancing-script-vietnamese-wght-normal-BsUJvdxu.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/dancing-script-latin-ext-wght-normal-DJGK6qJa.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/dancing-script-latin-wght-normal-CyISZbeS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-body:"Inter Variable", ui-rounded, "SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--ink:255 255 255;--ink-rev:0 0 0;--scrim:12 12 18;--viewer-stage:radial-gradient(#1b1b24, #09090f);--splash-bg:radial-gradient(120% 100% at 50% 20%, #1a1930 0%, #0c0c14 55%, #06060b 100%);--cover-placeholder:linear-gradient(135deg, #47415f 0%, #272635 100%);--bg-gradient:radial-gradient(120% 100% at 50% -20%, #2a2940 0%, #16161f 45%, #0c0d12 100%);--bg-solid:#16161f;--text:#eaeaf2;--text-secondary:rgb(var(--ink) / .72);--text-muted:rgb(var(--ink) / .55);--surface:rgb(var(--ink) / .08);--surface-strong:rgb(var(--ink) / .14);--line-strong:rgb(var(--ink) / .18);--card:var(--surface);--card-strong:var(--surface-strong);--line:rgb(var(--ink) / .11);--shadow:0 22px 60px rgb(var(--ink-rev) / .32);--accent:#8367ff;--accent-2:#5b73ff;--accent-contrast:#fff;--accent-soft:#8367ff29;--label-accent:#c9b8ff;--wordmark-ink:linear-gradient(105deg, #efe9ff 0%, #c6b4ff 42%, #8367ff 100%);--wordmark-glow:0 0 12px #a791ff73;--fmt-pdf-text:#ff9a9a;--fmt-img-text:#84e6c4;--ok:#47e892;--ok-2:#16c759;--danger:#ff9a9a;--danger-2:#ef6b7a;--danger-3:#e04d60;--warn:#ffb74d;--glass-base-toolbar:#12121b94;--glass-base-popover:#14131ebd;--glass-base-modal:#14131ec7;--glass-base-dock:#12121b9e;--glass-base-nav:#0e0e14f0;--glass-sheen:linear-gradient(135deg, #ffffff1f, #ffffff08 42%, #fff0 72%);--glass-border:rgb(var(--ink) / .16);--glass-inset:rgb(var(--ink) / .12)}@media (prefers-color-scheme:light){:root:not([data-theme]){--ink:28 27 38;--ink-rev:40 36 70;--scrim:236 234 246;--viewer-stage:radial-gradient(#eceaf4, #ddd9ea);--cover-placeholder:linear-gradient(135deg, #d9d3ea 0%, #c2bad6 100%);--bg-gradient:radial-gradient(120% 100% at 50% -20%, #f3f1fb 0%, #e9e7f4 45%, #dedbee 100%);--bg-solid:#ece9f5;--splash-bg:radial-gradient(120% 100% at 50% 20%, #f4f2fc 0%, #e7e4f3 55%, #dcd8ec 100%);--text:#1c1b26;--label-accent:#6a4fc0;--wordmark-ink:linear-gradient(105deg, #7b5fe6 0%, #6a4fc0 50%, #4a2fa0 100%);--wordmark-glow:0 0 10px #8367ff33;--fmt-pdf-text:#c5384a;--fmt-img-text:#18855c;--glass-base-toolbar:#f5f3fc9e;--glass-base-popover:#f8f6fdc2;--glass-base-modal:#f9f7fecc;--glass-base-dock:#f5f3fca8;--glass-base-nav:#f3f1faeb;--glass-sheen:linear-gradient(135deg, #ffffff8c, #ffffff2e 42%, #fff0 72%)}}:root[data-theme=light]{--ink:28 27 38;--ink-rev:40 36 70;--scrim:236 234 246;--viewer-stage:radial-gradient(#eceaf4, #ddd9ea);--cover-placeholder:linear-gradient(135deg, #d9d3ea 0%, #c2bad6 100%);--bg-gradient:radial-gradient(120% 100% at 50% -20%, #f3f1fb 0%, #e9e7f4 45%, #dedbee 100%);--bg-solid:#ece9f5;--splash-bg:radial-gradient(120% 100% at 50% 20%, #f4f2fc 0%, #e7e4f3 55%, #dcd8ec 100%);--text:#1c1b26;--label-accent:#6a4fc0;--wordmark-ink:linear-gradient(105deg, #7b5fe6 0%, #6a4fc0 50%, #4a2fa0 100%);--wordmark-glow:0 0 10px #8367ff33;--fmt-pdf-text:#c5384a;--fmt-img-text:#18855c;--glass-base-toolbar:#f5f3fc9e;--glass-base-popover:#f8f6fdc2;--glass-base-modal:#f9f7fecc;--glass-base-dock:#f5f3fca8;--glass-base-nav:#f3f1faeb;--glass-sheen:linear-gradient(135deg, #ffffff8c, #ffffff2e 42%, #fff0 72%)}*,:before,:after{box-sizing:border-box}:root{font-family:var(--font-body);color:var(--text);background:var(--bg-gradient);--safe-bottom:env(safe-area-inset-bottom,0px);--app-bottom-nav-clearance:124px;line-height:1.35}.home-section-title,.settings-title,.page-title,.sheets-empty__title,.tool-card-title,.cof-panel-title,.chord-favorites-title,.modal-title,.sheet-details-title,.sheet-card-actions-title,.confirm-modal-title,.import-dup-title,.cover-title,.viewer-title,.viewer-title--button{font-family:var(--font-display)}html,body,#root{min-height:100%;margin:0;padding:0}body{min-height:100dvh}html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable]:not([contenteditable=false]),[contenteditable]:not([contenteditable=false]) *,.allow-select,.allow-select *{-webkit-touch-callout:default;-webkit-user-select:text!important;user-select:text!important}button,select,input,textarea{font:inherit;color:inherit}.library-page{max-width:1080px;min-height:100dvh;padding:clamp(16px,5vw,32px);padding-bottom:calc(var(--app-bottom-nav-clearance) + 2rem + var(--safe-bottom));margin:0 auto}.file-drop-overlay{z-index:200;pointer-events:none;opacity:0;visibility:hidden;place-items:center;padding:clamp(24px,6vw,56px);transition:opacity .18s,visibility .18s;display:grid;position:fixed;inset:0}.file-drop-overlay--active{opacity:1;visibility:visible}.file-drop-overlay:before{content:"";-webkit-backdrop-filter:blur(10px)saturate(1.3);backdrop-filter:blur(10px)saturate(1.3);background:radial-gradient(120% 90% at 50% 40%,#8367ff47 0%,#0c0d12b8 60%,#0c0d12db 100%);position:absolute;inset:0}.file-drop-overlay__glow{aspect-ratio:1;filter:blur(8px);background:radial-gradient(circle,#8367ff73 0%,#8367ff00 70%);border-radius:50%;width:min(620px,80vw);animation:2.4s ease-in-out infinite file-drop-pulse;position:absolute}@keyframes file-drop-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:.9;transform:scale(1.08)}}.file-drop-overlay__card{background:linear-gradient(135deg, rgb(var(--ink) / .1), rgb(var(--ink) / .03));box-shadow:0 30px 80px rgb(var(--ink-rev) / .45), inset 0 0 60px #8367ff1f;border:2.5px dashed #b9a7ff8c;border-radius:28px;flex-direction:column;align-items:center;gap:10px;padding:clamp(28px,5vw,48px) clamp(32px,7vw,72px);transition:transform .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative;transform:scale(.94)}.file-drop-overlay--active .file-drop-overlay__card{transform:scale(1)}.file-drop-overlay__icon{filter:drop-shadow(0 6px 20px #8367ff80);width:clamp(96px,18vw,132px);height:clamp(96px,18vw,132px);animation:2.4s ease-in-out infinite file-drop-bob}@keyframes file-drop-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.file-drop-overlay__arrow{animation:1.6s ease-in-out infinite file-drop-arrow}@keyframes file-drop-arrow{0%,to{opacity:.65;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}.file-drop-overlay__title{letter-spacing:.2px;color:#f3f1ff;margin:6px 0 0;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:700}.file-drop-overlay__sub{color:#eaeaf29e;margin:0;font-size:.9rem}.file-drop-overlay__notes{position:absolute;inset:0;overflow:hidden}.file-drop-note{color:#b9a7ff80;text-shadow:0 0 16px #8367ff99;opacity:0;font-size:clamp(22px,4vw,40px);animation:6s linear infinite file-drop-float;position:absolute;bottom:-10%}.file-drop-overlay--active .file-drop-note{animation-play-state:running}.file-drop-note--1{animation-delay:0s;left:12%}.file-drop-note--2{font-size:clamp(18px,3vw,30px);animation-delay:1.4s;left:28%}.file-drop-note--3{animation-delay:.7s;left:46%}.file-drop-note--4{font-size:clamp(26px,5vw,46px);animation-delay:2.1s;left:64%}.file-drop-note--5{animation-delay:.3s;left:78%}.file-drop-note--6{font-size:clamp(18px,3vw,28px);animation-delay:1.8s;left:90%}@keyframes file-drop-float{0%{opacity:0;transform:translateY(0)rotate(0)}12%{opacity:.7}80%{opacity:.7}to{opacity:0;transform:translateY(-115vh)rotate(22deg)}}@media (prefers-reduced-motion:reduce){.file-drop-overlay__glow,.file-drop-overlay__icon,.file-drop-overlay__arrow,.file-drop-note{animation:none}.file-drop-note{opacity:.45}}.library-storage-foot{left:max(12px, env(safe-area-inset-left,0px));bottom:calc(var(--app-bottom-nav-clearance) + 2px + env(safe-area-inset-bottom,0px));z-index:34;letter-spacing:.03em;opacity:.72;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;font-size:.66rem;font-weight:620;position:fixed}.app-brand-header{flex-direction:column;align-items:center;margin-bottom:clamp(1rem,3vw,1.35rem);display:flex}.app-brand-header--with-back{position:relative}.page-back,.settings-back{left:max(10px, env(safe-area-inset-left,0px));top:max(10px, env(safe-area-inset-top,0px));z-index:40;justify-content:center;align-items:center;padding:.4rem;line-height:0;display:inline-flex;position:fixed}.app-brand-tagline{max-width:26rem;margin:.45rem 0 0;font-size:clamp(1rem,3.4vw,1.18rem)}.app-logo--page{justify-content:center;align-items:center;gap:clamp(.2rem,1.5vw,.6rem);display:flex}.app-logo--page img{object-fit:contain;width:clamp(96px,9vw,192px);height:auto;display:block}.app-wordmark{background:var(--wordmark-ink);color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(var(--wordmark-glow));-webkit-background-clip:text;background-clip:text;flex:none;font-family:Dancing Script Variable,Brush Script MT,cursive;font-size:clamp(1.5rem,3.6vw,3.6rem);font-weight:700;line-height:1;animation:.52s ease-out both app-wordmark-in}.app-wordmark--left{animation-name:app-wordmark-in-left}.app-wordmark--right{animation-name:app-wordmark-in-right}@keyframes app-wordmark-in-left{0%{opacity:0;transform:translate(.5rem)}to{opacity:1;transform:translate(0)}}@keyframes app-wordmark-in-right{0%{opacity:0;transform:translate(-.5rem)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.app-wordmark{animation:none}}.app-logo--viewer{flex:none;justify-content:center;align-items:center;display:flex}.app-logo--viewer img{object-fit:contain;width:46px;height:46px}.library-sort-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:1rem;display:flex}.add-fab-btn{cursor:pointer;color:#fff;width:46px;height:46px;box-shadow:0 10px 26px rgb(var(--ink-rev) / .3);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:linear-gradient(135deg,#5675fffa,#9259ffeb);border:none;border-radius:999px;flex:none;place-items:center;padding:0;font-size:1.5rem;font-weight:800;line-height:1;display:grid}.add-fab-btn:active{transform:scale(.94)}.fab-option.fab-option--outline{border:1.5px solid var(--label-accent,#8b5cf6);color:var(--label-accent,#8b5cf6);background:0 0}.fab-option .fab-option__icon{place-items:center;line-height:0;display:grid;position:relative}.fab-option .fab-option__badge{font-size:.92rem;font-weight:900;line-height:1;position:absolute;bottom:-5px;right:-7px}.home-section-header{justify-content:space-between;align-items:center;margin-bottom:.7rem;display:flex}.home-section-header .home-section-title{margin-bottom:0}.sort-bar{flex-shrink:0;align-items:center;gap:5px;display:flex}.sort-bar-btn{background:rgb(var(--ink) / .07);letter-spacing:.04em;color:inherit;opacity:.55;cursor:pointer;touch-action:manipulation;white-space:nowrap;border:none;border-radius:20px;align-items:center;gap:4px;padding:5px 10px;font-size:.68rem;font-weight:640;display:inline-flex}.sort-bar-btn:hover{opacity:.8;background:rgb(var(--ink) / .1)}.sort-bar-btn.active{color:var(--label-accent);opacity:1;background:#8367ff38}.sort-bar-arrow{opacity:.85;flex-shrink:0}.title{letter-spacing:-.055em;margin:0 0 .35rem;font-size:clamp(2.05rem,10vw,4.8rem);line-height:.95}.subtitle{opacity:.78;margin:0;font-size:clamp(1rem,3.4vw,1.18rem)}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 16px;display:grid}.action-card{border:1px solid var(--line);text-align:left;min-height:118px;color:inherit;background:var(--card);box-shadow:0 16px 38px rgb(var(--ink-rev) / .18);border-radius:26px;align-content:end;gap:4px;padding:16px;display:grid}.action-card.import{background:linear-gradient(145deg,#5675fff2,#9259ffd1)}.action-card.receive{background:linear-gradient(145deg,#23b8b5e6,#4574ffa3)}.action-card.send{background:linear-gradient(145deg,#ff9655eb,#ff4f7ab3)}.action-card:disabled{cursor:not-allowed;filter:grayscale(.55);opacity:.55}.action-icon{background:rgb(var(--ink) / .22);border-radius:16px;place-items:center;width:42px;height:42px;margin-bottom:10px;font-size:1.45rem;font-weight:760;display:grid}.action-label{letter-spacing:-.02em;font-size:1.1rem;font-weight:780}.action-detail{color:rgb(var(--ink) / .78);font-size:.86rem}.seg{border:1px solid var(--line);background:rgb(var(--ink) / .07);max-width:none;box-shadow:0 10px 26px rgb(var(--ink-rev) / .16);border-radius:18px;gap:0;margin:1.25rem 0;padding:4px;display:flex}.seg-btn{color:inherit;background:0 0;border:none;border-radius:14px;flex:1;padding:12px;font-weight:620}.seg-btn.active{background:rgb(var(--ink) / .16);box-shadow:inset 0 0 0 1px rgb(var(--ink) / .06)}.toolbar{margin-bottom:1.25rem}.row{display:flex}.row.end{justify-content:flex-end}.row.center{justify-content:center}.align-center{align-items:center}.gap{gap:10px}.wrap{flex-wrap:wrap}.btn{background:rgb(var(--ink) / .1);border:none;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;display:inline-flex}.btn.accent,label.btn.accent{background:linear-gradient(120deg,#5b73ff 0%,#8367ff 100%)}.btn.secondary{background:rgb(var(--ink) / .08)}.btn.outline{border:1px solid var(--accent);color:rgb(var(--ink) / .92);background:0 0}.btn.outline:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.btn.danger{background:#6b2f3b}.btn.disabled,.btn:disabled,.fab-option:disabled,.send-list-item:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.48}.btn-spinner{border:2px solid rgb(var(--ink) / .35);border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn.tap,.icon-btn.tap,.fab-primary.tap,.fab-more.tap,.fab-option.tap,.seg-btn.tap,.select.tap{cursor:pointer;touch-action:manipulation}.tap{-webkit-user-select:none;user-select:none}.wide{flex:1}.home-grids{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:1.75rem;display:flex}.home-section{margin:0}.home-section-divider{background:linear-gradient(90deg,#0000,#8367ffa6 50%,#0000);border:0;height:1px;margin:-.35rem 0;box-shadow:0 0 8px 1px #8367ff73}.home-section-title{letter-spacing:.14em;text-transform:uppercase;opacity:.52;margin:0 0 .7rem;font-size:.68rem;font-weight:750}.cover-grid{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(auto-fill,minmax(min(100%,151px),1fr));gap:clamp(12px,3.4vw,20px);display:grid}.cover-grid--portrait{grid-template-columns:repeat(auto-fill,minmax(min(100%,145px),202px));justify-content:start;gap:clamp(12px,3vw,17px)}.cover-grid--portrait .cover-tile{width:100%;max-width:none;margin-inline:0}.pinned-strip{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex-flow:wrap;justify-content:flex-start;gap:12px;margin:0;padding:2px 0 4px;display:flex}.pinned-strip__slot{flex:0 0 clamp(145px,44vw,202px);min-width:0;display:flex}.pinned-strip__slot .sortable-tile-wrap{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex:1;min-width:0;min-height:0;display:flex}.pinned-strip__slot .cover-tile{flex:1;width:100%;max-width:none;min-height:0;margin:0}.cover-tile{aspect-ratio:5/6.15;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg, rgb(var(--ink) / .12), rgb(var(--ink) / .045)), rgb(var(--ink) / .04);border:1px solid var(--line);--cover-meta-min-h:5.1rem;grid-template-rows:minmax(0, 1fr) var(--cover-meta-min-h);width:100%;max-width:202px;box-shadow:var(--shadow);border-radius:20px;margin-inline:auto;transition:transform .18s,border-color .18s,background .18s;display:grid;position:relative;overflow:hidden}.cover-tile:active{transform:scale(.985)}.cover-thumb{background:rgb(var(--ink-rev) / .28);justify-content:center;align-items:center;height:100%;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}.source-badge{z-index:2;border:1px solid rgb(var(--ink) / .22);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0c12b8;border-radius:999px;place-items:center;width:30px;height:30px;font-size:1rem;font-weight:820;display:inline-grid;position:absolute;top:10px;left:10px}.source-badge--received{color:#9cf8c8}.source-badge--manual{color:#c9d2ff}.source-badge svg{display:block}.cover-thumb img{object-fit:cover;pointer-events:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.placeholder--music{background:radial-gradient(circle at 70% 24%, rgb(var(--ink) / .18), transparent 30%), var(--cover-placeholder);width:100%;height:100%;position:relative;overflow:hidden}.placeholder-notes{width:100%;height:100%;fill:rgb(var(--ink));pointer-events:none;position:absolute;inset:0}.cover-thumb .placeholder{flex:auto;min-height:0}.cover-meta{box-sizing:border-box;min-height:var(--cover-meta-min-h,5.1rem);height:100%;max-height:var(--cover-meta-min-h,5.1rem);flex-direction:column;flex-shrink:0;justify-content:flex-start;gap:.3rem;padding:10px 12px 8px;display:flex;overflow:hidden}.cover-meta h3,.cover-title{letter-spacing:-.025em;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;flex:none;min-height:2.2rem;margin:0 0 6px;font-size:.88rem;line-height:1.25;display:-webkit-box;overflow:hidden}.cover-meta-sub{flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.cover-meta-sub .muted.small,.cover-meta .muted.small{flex-shrink:0;line-height:1.2}.play-count-badge{letter-spacing:.02em;color:var(--label-accent);opacity:.9;white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:.68rem;font-weight:660;display:inline-flex}.format-chip{border:1px solid #0000;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:3px;line-height:0;display:inline-flex}.format-chip svg{display:block}.format-chip--pdf{color:var(--fmt-pdf-text);background:#ef444429;border-color:#ef444466}.format-chip--image{color:var(--fmt-img-text);background:#10b98129;border-color:#10b9816b}.format-chip--musicxml{color:var(--label-accent);background:#8b5cf62e;border-color:#8b5cf675}.format-chip--viewer{padding:2px}.cover-tile>.cover-format-badge{z-index:2;position:absolute;bottom:10px;right:10px}.format-chip--set{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--fmt-img-text,#34d399);background:#38bdf829;border-color:#38bdf875;padding:1px 7px;font-size:.62rem;font-weight:760;line-height:1.5}.format-chip--set.format-chip--viewer{padding:1px 6px;font-size:.58rem}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.muted{opacity:.78}.small{font-size:.78rem}.center-pad{text-align:center;padding:2rem 1rem}.sheets-empty{text-align:center;flex-direction:column;align-items:center;gap:.85rem;max-width:30rem;margin:0 auto;padding:clamp(1.25rem,6vw,3rem) 1rem 2.5rem;display:flex}.sheets-load-error{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:28rem;margin:0 auto;padding:clamp(1.25rem,6vw,3rem) 1rem 2.5rem;display:flex}.sheets-load-error-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,5vw,1.8rem)}.sheets-load-error-copy{max-width:24rem;margin:0;line-height:1.45}.sheets-empty__art{width:clamp(190px,62vw,264px);height:auto;margin-bottom:.3rem}.sheets-empty__staff line{stroke:rgb(var(--ink) / .22);stroke-width:1.4px;stroke-linecap:round}.sheets-empty__title{letter-spacing:-.03em;margin:0;font-size:clamp(1.55rem,6vw,2.1rem);line-height:1.05}.sheets-empty__lead{max-width:24rem;margin:0;font-size:1rem;line-height:1.45}.sheets-empty__actions{flex-direction:column;align-items:center;gap:.7rem;width:100%;margin-top:.75rem;display:flex}.sheets-empty__primary{min-width:min(100%,16rem);box-shadow:0 14px 32px rgb(var(--ink-rev) / .28);font-size:1.02rem;font-weight:720}.sheets-empty__secondary{color:var(--label-accent);font:inherit;opacity:.85;text-underline-offset:3px;background:0 0;border:none;padding:6px 8px;font-size:.86rem;font-weight:600;text-decoration:underline}.sheets-empty__secondary:hover{opacity:1}.sheets-empty__secondary:disabled{cursor:not-allowed;opacity:.5}.eyebrow{text-transform:uppercase;letter-spacing:.12em;opacity:.75;font-size:.72rem}.app-bottom-nav{z-index:35;padding:0 max(12px, env(safe-area-inset-left,0px)) env(safe-area-inset-bottom,0px) max(10px, env(safe-area-inset-right,0px));border-top:1px solid rgb(var(--ink) / .08);background:var(--glass-base-nav);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -12px 40px rgb(var(--ink-rev) / .35);justify-content:space-between;align-items:stretch;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:visible}.app-bottom-nav-icons{flex:50%;justify-content:space-evenly;align-items:center;gap:4px;min-width:0;display:flex}.app-bottom-nav-icon{width:clamp(54px,15vw,78px);min-height:68px;color:inherit;opacity:.66;border-radius:20px;place-items:center;gap:2px;padding:8px 6px;text-decoration:none;display:grid}.app-bottom-nav-icon.is-active{opacity:1;color:var(--accent)}.app-bottom-nav-icon__glyph{font-size:2.02rem;line-height:1}.app-bottom-nav-icon__label{letter-spacing:-.02em;font-size:.72rem;font-weight:680}.app-bottom-nav--no-labels .app-bottom-nav-icon{gap:0;min-height:56px}.app-bottom-nav--no-labels .app-bottom-nav-icon__label{display:none}.app-bottom-nav-right{flex:50%;justify-content:flex-end;align-items:center;gap:clamp(18px,5vw,34px);min-width:0;display:flex;position:relative}.app-bottom-nav-preview{border:1px solid var(--line);background:rgb(var(--ink-rev) / .35);width:clamp(96px,25vw,136px);height:clamp(116px,30vw,156px);box-shadow:var(--shadow);border-radius:34px;flex:none;place-items:center;margin-top:-46px;padding:0;display:grid;overflow:hidden}.app-bottom-nav-preview--empty{opacity:0;pointer-events:none}.app-bottom-nav-cover{object-fit:cover;width:100%;height:100%}.app-bottom-nav-preview-title-wrap{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.app-bottom-nav-preview-title-wrap .placeholder--music{position:absolute;inset:0}.app-bottom-nav-preview-title{z-index:1;box-sizing:border-box;text-align:center;letter-spacing:-.02em;width:100%;color:var(--text);overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;margin:0;padding:12px 14px;font-size:clamp(.68rem,2.55vw,.82rem);font-weight:640;line-height:1.3;display:-webkit-box;position:relative;overflow:hidden}.rtc-status-anchor--fixed{top:calc(10px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:90;position:fixed}html.viewer-hide-global-rtc .rtc-status-anchor.rtc-status-anchor--fixed{display:none!important}.rtc-status-anchor--overlay{align-items:center;display:flex;position:relative}.rtc-status-dot{border:2px solid rgb(var(--ink) / .32);width:14px;height:14px;box-shadow:0 0 0 1px rgb(var(--ink-rev) / .35);border-radius:50%;flex-shrink:0;padding:0}.rtc-status-dot--connected{background:#42d69a;border-color:#96f8ce8c}.rtc-status-dot--connecting,.rtc-status-dot--peer-offline{background:#ffb74d;border-color:#ffdcaa80}.rtc-status-dot--offline,.rtc-status-dot--lost{background:#ff7a9a;border-color:#ffb0be73}.rtc-status-dot--idle{background:rgb(var(--ink) / .38);border-color:rgb(var(--ink) / .28)}.rtc-status-dot--unpaired{background:rgb(var(--ink) / .22);border-color:rgb(var(--ink) / .28)}.rtc-status-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.6);backdrop-filter:blur(18px)saturate(1.6);min-width:min(248px,100vw - 32px);box-shadow:0 22px 52px rgb(var(--ink-rev) / .42);z-index:111;background:#12111ac7;border-radius:18px;padding:14px 16px 12px;position:absolute;top:calc(100% + 10px);right:0}.rtc-status-panel__peer{letter-spacing:-.02em;margin-bottom:6px;font-size:1.02rem;font-weight:780}.rtc-status-panel__role{letter-spacing:-.02em;color:rgb(var(--ink) / .92);align-items:center;gap:8px;margin:0 0 10px;font-size:.88rem;font-weight:720;display:flex}.rtc-status-panel__role svg{opacity:.92;flex-shrink:0}.rtc-status-panel__state{margin:0 0 14px;font-size:.86rem}.rtc-status-panel__hint{color:#c98a3a;background:#ffb3471f;border:1px solid #ffb34759;border-radius:6px;margin:0 0 14px;padding:8px 10px;font-size:.8rem;line-height:1.4}.rtc-status-panel__hint strong{color:inherit;margin-bottom:2px;display:block}.rtc-status-panel__disconnect{width:100%;margin-top:4px}.send-modal-header-trail{flex-shrink:0;align-items:flex-start;gap:10px;display:flex}.send-modal-toolbar-hint{padding:0 0 4px}.send-modal-toolbar-hint .status-line,.send-modal-toolbar-hint .error-text{margin:0}.fab-cluster{z-index:38;flex:none;place-items:center;width:64px;display:grid;position:relative}.fab-menu{inset-inline:0;opacity:0;transform-origin:bottom;pointer-events:none;justify-items:center;gap:10px;width:100%;transition:opacity .18s,transform .18s;display:grid;position:absolute;bottom:calc(100% + 10px);transform:translateY(10px)scale(.96)}.fab-cluster--open .fab-menu{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.fab-row{justify-content:center;align-items:center;width:64px;display:flex}.fab-primary,.fab-more,.fab-option{border:1px solid var(--line);color:inherit;box-shadow:0 18px 46px rgb(var(--ink-rev) / .36);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fab-primary{background:linear-gradient(135deg,#5675fffa,#9259ffeb);border-radius:999px;place-items:center;width:64px;height:64px;padding:0;display:grid}.fab-primary span,.fab-more span,.fab-option span{font-weight:800}.fab-primary span{font-size:1.85rem}.fab-more{background:rgb(var(--ink) / .16);border-radius:999px;width:64px;height:64px;font-size:1.55rem}.fab-option{background:var(--glass-sheen), var(--glass-base-dock);border-radius:999px;place-items:center;width:56px;height:56px;padding:0;display:grid}.fab-option span{font-size:1.55rem}.fab-option strong{letter-spacing:-.02em;font-size:.92rem}.send-list{gap:8px;max-height:min(42vh,360px);padding:4px 0;display:grid;overflow:auto}.send-list-item{border:1px solid var(--line);background:rgb(var(--ink) / .08);min-height:52px;color:inherit;text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.send-list-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.send-list-item small{opacity:.72;flex:none}.settings-page{max-width:760px;min-height:100dvh;padding:clamp(16px,5vw,32px);padding-bottom:calc(var(--app-bottom-nav-clearance) + 2rem + var(--safe-bottom));margin:0 auto}.settings-header{align-items:center;gap:16px;margin-bottom:22px;display:flex}.settings-title{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,3.8rem);line-height:1}.settings-search{margin-bottom:36px}.settings-search-input{border:1px solid var(--line);background:rgb(var(--ink) / .1);border-radius:14px;width:100%;min-height:50px;padding:10px 16px;font-size:1rem}.settings-search-input::placeholder{opacity:.55}.settings-section{margin-bottom:36px}.settings-section__header{letter-spacing:.14em;text-transform:uppercase;opacity:.55;align-items:center;gap:12px;margin:0 0 12px;font-size:.78rem;font-weight:700;display:flex}.settings-section__header:before,.settings-section__header:after{content:"";background:var(--line);flex:auto;height:1px}.settings-no-results{text-align:center;margin:32px 0}.settings-card{border:1px solid var(--line);background:var(--card);box-shadow:0 16px 38px rgb(var(--ink-rev) / .22);border-radius:26px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:18px;display:flex}.settings-card--stack{flex-direction:column;align-items:stretch}.settings-copy h2{margin:0 0 4px;font-size:1.12rem}.settings-copy p{margin:0}.settings-select{border:1px solid var(--line);width:100%;min-height:52px}.settings-inline{justify-content:space-between;align-items:center;gap:14px;display:flex}.settings-inline--wrap{flex-wrap:wrap}.settings-text-input{border:1px solid var(--line);background:rgb(var(--ink) / .1);border-radius:12px;flex:220px;min-width:0;min-height:48px;padding:8px 12px}.settings-status{text-align:center}.settings-page-version{left:max(12px, env(safe-area-inset-left,0px));bottom:calc(var(--app-bottom-nav-clearance) + 2px + env(safe-area-inset-bottom,0px));z-index:34;letter-spacing:.02em;opacity:.45;pointer-events:none;margin:0;padding:0;font-size:.74rem;position:fixed}.switch{flex:none;width:62px;height:36px;position:relative}.switch input{opacity:0;position:absolute;inset:0}.switch span{background:rgb(var(--ink) / .14);border:1px solid var(--line);border-radius:999px;transition:background .18s;position:absolute;inset:0}.switch span:after{content:"";width:26px;height:26px;box-shadow:0 1px 3px rgb(var(--ink-rev) / .3);background:#fff;border-radius:999px;transition:transform .18s;position:absolute;top:4px;left:4px}.switch input:checked+span{background:linear-gradient(135deg,#5b73ff,#8367ff)}.switch input:checked+span:after{transform:translate(26px)}.segmented{background:var(--accent-soft);border:1px solid var(--glass-border);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.seg-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:.9rem;font-weight:650;transition:background .18s,color .18s,box-shadow .18s}.seg-btn.is-active{background:linear-gradient(135deg, var(--accent-2), var(--accent));color:var(--accent-contrast);box-shadow:0 2px 10px #8367ff66}.icon-btn{background:rgb(var(--ink) / .08);border:none;border-radius:12px;min-width:44px;min-height:44px}.cover-actions{justify-content:space-between;gap:8px;padding:0 12px 12px}.icon-btn.danger{background:#8b323273}.icon-btn:disabled{cursor:not-allowed;opacity:.38}.cover-action-label{place-items:center;display:inline-grid}.viewer-shell{background:var(--viewer-stage);flex-direction:column;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.viewer-bar__back{border-radius:14px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:6px 10px;display:inline-flex}.viewer-bar__back-arrow{opacity:.9;flex-shrink:0;display:block}.viewer-bar{z-index:21;padding:10px clamp(14px,4vw,24px);padding-top:calc(10px + env(safe-area-inset-top,0px));background:rgb(var(--scrim) / .5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgb(var(--ink) / .06);opacity:1;flex-flow:wrap;align-items:center;gap:10px;transition:transform .28s,opacity .22s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(0)}.viewer-bar--chrome{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 10px;display:grid}.viewer-bar__title-row{align-items:center;gap:10px;min-width:0;display:flex}.viewer-bar__title-row .viewer-title,.viewer-bar__title-row .viewer-title--button{text-align:left;justify-self:unset;flex:0 auto;min-width:0;margin-left:0;margin-right:0}.viewer-bar__brand{flex-shrink:0;justify-content:center;align-items:center;display:flex}.viewer-bar.viewer-bar--hidden{opacity:0;pointer-events:none;transform:translateY(calc(-100% - 8px))}.viewer-title{text-align:center;flex:1;justify-self:stretch;min-width:0;font-weight:620}.viewer-title--button{color:inherit;font:inherit;font-weight:inherit;text-align:center;cursor:pointer;background:0 0;border:none;border-radius:10px;min-width:0;margin:-6px auto;padding:6px 10px}.viewer-title--button:focus-visible{outline-offset:2px;outline:2px solid #5b73ff8c}.viewer-bar__title-row .viewer-title--button{margin:-6px 0}.viewer-bar__end{align-items:center;gap:10px;display:flex}.viewer-bar__send-placeholder{pointer-events:none;flex-shrink:0;width:68px;height:44px}.viewer-rtc-dock{top:calc(10px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:90;pointer-events:auto;flex-direction:row;align-items:center;gap:10px;display:flex;position:fixed}.viewer-rtc-dock__send{flex-shrink:0}.icon-pad{min-height:48px}.viewer-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.viewer-page-indicator{right:max(10px, env(safe-area-inset-right,0px));bottom:max(10px, env(safe-area-inset-bottom,0px));z-index:12;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:rgb(var(--ink) / .88);background:rgb(var(--scrim) / .48);border:1px solid rgb(var(--ink) / .1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 12px rgb(var(--ink-rev) / .28);border-radius:999px;padding:6px 11px;font-size:.8125rem;font-weight:600;transition:bottom .25s;position:absolute}.pagination-bands{z-index:4;pointer-events:none;--pagination-strip-x:max(15%, 52px);--pagination-strip-y:max(15%, 52px);position:absolute;inset:0}.pagination-bands .page-band{pointer-events:auto}.viewer-stage .musicxml-holder svg{-webkit-user-select:none;user-select:none;max-width:100%;height:auto}.viewer-toolbar{--viewer-footer-collapsed-max:13.5rem;z-index:20;padding:0 clamp(12px, 3vw, 22px) calc(10px + env(safe-area-inset-bottom,0px));background:rgb(var(--scrim) / .97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgb(var(--ink) / .08);opacity:1;border-radius:16px 16px 0 0;flex-direction:column;transition:transform .28s,opacity .22s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(0)}.viewer-toolbar.viewer-toolbar--hidden{opacity:0;pointer-events:none;transform:translateY(calc(100% + 8px))}.viewer-toolbar__sheet{min-width:0;max-height:var(--viewer-footer-collapsed-max);padding-top:10px;transition:max-height .35s;overflow:hidden}.viewer-toolbar--expandable .viewer-toolbar__sheet{padding-top:4px}.viewer-toolbar.viewer-toolbar--expanded .viewer-toolbar__sheet{-webkit-overflow-scrolling:touch;max-height:min(75vh,52rem);overflow:hidden auto}.viewer-toolbar__columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px clamp(14px,3vw,28px);padding-bottom:4px;display:grid}@media (width<=720px){.viewer-toolbar__columns:not(.viewer-toolbar__columns--image){grid-template-columns:1fr;gap:18px}}.viewer-toolbar__columns--image{grid-template-columns:1fr;justify-items:center;max-width:420px;margin-inline:auto}.viewer-footer-col{flex-direction:column;gap:10px;min-width:0;display:flex}.viewer-footer-col__title{letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--ink) / .95);margin:0;font-size:.78rem;font-weight:700}.viewer-footer-col__body{flex-direction:column;gap:12px;min-width:0;display:flex}.viewer-footer-col__body--reading,.viewer-footer-col__body--nav{gap:14px}.viewer-footer-field{flex-direction:column;gap:6px;min-width:0;display:flex}.viewer-footer-field--pagination{gap:8px}.viewer-footer-field--pagination .viewer-footer-aux-btn{align-self:center}.viewer-footer-field-label{color:rgb(var(--ink) / .45);letter-spacing:.02em;font-size:.72rem;font-weight:600}.viewer-segmented{background:rgb(var(--ink) / .06);border:1px solid rgb(var(--ink) / .08);border-radius:11px;align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.viewer-segmented__btn{min-height:40px;color:rgb(var(--ink) / .55);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 14px;font-size:.8rem;font-weight:650;transition:color .15s,box-shadow .15s,background .15s}.viewer-segmented__btn:hover{color:rgb(var(--ink) / .88);background:rgb(var(--ink) / .06)}.viewer-segmented__btn--active{color:rgb(var(--ink) / .98);background:rgb(var(--ink) / .07);box-shadow:0 0 0 2px var(--accent,#5b73ff)}.viewer-footer-select.select{border:1px solid rgb(var(--ink) / .1);background-color:rgb(var(--ink) / .08);font-variant-numeric:tabular-nums;min-height:44px;color:rgb(var(--ink) / .92);border-radius:10px;padding-right:32px;font-size:.88rem;font-weight:600}.viewer-footer-pagination{justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.viewer-footer-pagination__label{text-align:center;font-variant-numeric:tabular-nums;min-width:3.5rem;color:rgb(var(--ink) / .95);flex:auto;font-size:.95rem;font-weight:680}.viewer-footer-sq-btn{width:44px;height:44px;color:rgb(var(--ink) / .92);background:rgb(var(--ink) / .09);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;place-items:center;padding:0;transition:background .15s;display:inline-grid}.viewer-footer-sq-btn:hover:not(:disabled){background:rgb(var(--ink) / .14)}.viewer-footer-sq-btn:disabled{cursor:not-allowed;opacity:.38}.viewer-footer-sq-btn--send{color:var(--label-accent);background:linear-gradient(135deg,#5b73ff52,#8367ff52);border:1px solid #8367ff59}.viewer-footer-sq-btn--send:hover:not(:disabled){background:linear-gradient(135deg,#5b73ff7a,#8367ff7a)}.viewer-footer-aux-btn{color:#8caafff2;cursor:pointer;background:#5b73ff1f;border:none;border-radius:8px;margin:0;padding:6px 10px;font-size:.72rem;font-weight:650}.viewer-footer-aux-btn:hover:not(:disabled){background:#5b73ff38}.viewer-footer-aux-btn:disabled{cursor:not-allowed;opacity:.38}.viewer-toolbar__handle-wrap{flex-shrink:0;justify-content:center;padding:8px 0 6px;display:flex}.viewer-toolbar__handle{cursor:grab;touch-action:none;min-width:120px;min-height:36px;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:8px 24px;display:flex}.viewer-toolbar__handle:active{cursor:grabbing}.viewer-toolbar__handle-grip{background:rgb(var(--ink) / .88);width:44px;height:5px;box-shadow:0 1px 2px rgb(var(--ink-rev) / .35);border-radius:999px;display:block}.viewer-footer-switch.switch--sm{align-self:flex-start}.viewer-footer-autoscroll{flex-direction:column;gap:10px;min-width:0;display:flex}.viewer-footer-autoscroll__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.viewer-footer-autoscroll__label{color:rgb(var(--ink) / .88);flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;font-weight:650;display:flex}.viewer-footer-autoscroll__hint{font-variant-numeric:tabular-nums;opacity:.55;letter-spacing:.02em;font-size:.62rem;font-weight:650}.viewer-footer-speed-row{min-width:0}.viewer-footer-speed-row--off .labeled-slider-rail{opacity:.42}.viewer-footer-speed-row--dimmed{opacity:.48}.viewer-autoscroll-rail.labeled-slider-rail--horizontal{width:100%;max-width:min(380px,100%)}.viewer-autoscroll-play{border-radius:10px;width:40px;height:40px}.mxml-tempo-range{width:min(220px,42vw);max-width:100%;accent-color:var(--accent)}.mxml-tempo-track{align-items:center;width:100%;min-height:28px;display:flex;position:relative}.mxml-tempo-track .mxml-tempo-range{z-index:2;flex:auto;width:100%;min-width:0;max-width:none;position:relative}.mxml-tempo-default-mark{pointer-events:none;z-index:1;background:rgb(var(--ink) / .45);width:2px;box-shadow:0 0 0 1px rgb(var(--ink-rev) / .25);border-radius:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.mxml-tempo-with-reset{flex-direction:row;align-items:flex-end;gap:8px;width:100%;max-width:min(400px,100%);display:flex}.mxml-tempo-with-reset .mxml-tempo{flex:auto;min-width:0}.mxml-tempo-reset{border:1px solid rgb(var(--ink) / .12);color:rgb(var(--ink) / .88);background:rgb(var(--ink) / .07);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:6px;margin-bottom:1px;padding:6px 10px;font-size:.75rem;font-weight:650;display:inline-flex}.mxml-tempo-reset:hover:not(:disabled){background:rgb(var(--ink) / .11)}.mxml-tempo-reset:disabled{opacity:.36;cursor:not-allowed}.mxml-tempo-reset--compact{border-radius:10px;gap:0;margin-bottom:0;padding:7px}.mxml-tempo-reset__label{letter-spacing:.02em}.mxml-loop-footer{max-width:min(400px,94vw)}.mxml-loop-hint{max-width:44ch;margin:0 0 8px;font-size:.71rem;line-height:1.42}.mxml-loop-active-badge{color:#cbb8fc;font-weight:700}.mxml-loop-palette-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.mxml-loop-palette-chips{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.mxml-loop-palette-chip{letter-spacing:.04em;color:#fff;white-space:nowrap;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:7px;min-width:5.75rem;min-height:48px;padding:10px 18px;font-size:.875rem;font-weight:800;display:inline-flex}.mxml-loop-palette-chip:active{cursor:grabbing}.mxml-loop-palette-chip:focus-visible{outline-offset:2px;outline:2px solid #cbb8fcf2}.mxml-loop-palette-chip--start{background:linear-gradient(#47e892 0%,#16c759 54%,#0fb34d 100%);box-shadow:0 2px 10px #16c75959}.mxml-loop-palette-chip--end{background:linear-gradient(#ff9a9a 0%,#ef6b7a 48%,#e04d60 100%);box-shadow:0 2px 10px #ef6b7a52}.mxml-loop-palette-chip.mxml-loop-palette-chip--placed{opacity:.58;box-shadow:inset 0 3px 7px rgb(var(--ink-rev) / .38), inset 0 1px 0 rgb(var(--ink-rev) / .22), 0 1px 0 rgb(var(--ink) / .05);filter:brightness(.78)saturate(.88);transform:translateY(1px)}.mxml-loop-palette-chip.mxml-loop-palette-chip--placed.mxml-loop-palette-chip--start{box-shadow:inset 0 3px 7px rgb(var(--ink-rev) / .38), inset 0 1px 0 rgb(var(--ink-rev) / .22), 0 1px 4px #16c7591f}.mxml-loop-palette-chip.mxml-loop-palette-chip--placed.mxml-loop-palette-chip--end{box-shadow:inset 0 3px 7px rgb(var(--ink-rev) / .38), inset 0 1px 0 rgb(var(--ink-rev) / .22), 0 1px 4px #ef6b7a1f}.mxml-loop-palette-chip-ghost{letter-spacing:.04em;color:#fff;white-space:nowrap;opacity:.94;min-width:5.75rem;min-height:48px;filter:drop-shadow(0 6px 14px rgb(var(--ink-rev) / .38));border-radius:12px;justify-content:center;align-items:center;padding:10px 18px;font-size:.875rem;font-weight:800;display:inline-flex}.mxml-loop-palette-chip-ghost--start{background:linear-gradient(#47e892 0%,#16c759 54%,#0fb34d 100%)}.mxml-loop-palette-chip-ghost--end{background:linear-gradient(#ff9a9a 0%,#ef6b7a 48%,#e04d60 100%)}.mxml-loop-clear{margin-top:0;border:1px solid rgb(var(--ink) / .08);background:rgb(var(--ink) / .05);cursor:pointer;border-radius:12px;flex:none;align-self:center;width:auto;min-height:44px;margin-inline-start:auto;padding:0 14px;font-size:.82rem;font-weight:620}.mxml-loop-clear:hover{background:rgb(var(--ink) / .09)}.viewer-toolbar__send-col{flex-direction:column;align-items:center;gap:4px;max-width:min(200px,38vw);display:flex}.viewer-toolbar__send-feedback{text-align:center;color:rgb(var(--ink) / .55);margin:0;font-size:.68rem;font-weight:650;line-height:1.2}.viewer-toolbar__send-feedback--err{color:#f0a8a8}.pdf-viewer-root.vertical{scrollbar-width:none;-ms-overflow-style:none}.pdf-viewer-root.vertical::-webkit-scrollbar{width:0;height:0;display:none}.viewer-pill-toolbar{--pill-bottom:1.25rem;left:0;right:0;bottom:calc(var(--pill-bottom) + env(safe-area-inset-bottom,0px));z-index:20;background:var(--glass-sheen), var(--glass-base-toolbar);-webkit-backdrop-filter:blur(30px)saturate(1.9)brightness(1.06);backdrop-filter:blur(30px)saturate(1.9)brightness(1.06);border:1px solid var(--glass-border);width:fit-content;max-width:min(100vw - 1.5rem,1200px);min-height:62px;box-shadow:0 4px 24px rgb(var(--ink-rev) / .38), 0 1px 0 rgb(var(--ink) / .12) inset, 0 0 0 .5px rgb(var(--ink) / .04) inset;opacity:1;border-radius:26px;flex-flow:wrap;justify-content:center;align-items:center;gap:0;margin-inline:auto;padding:0 7px;transition:transform .28s,opacity .22s;display:flex;position:fixed;transform:translateY(0)}.viewer-pill-toolbar--hidden{transform:translateY(calc(100% + var(--pill-bottom) + env(safe-area-inset-bottom,0px) + 8px));opacity:0;pointer-events:none}.viewer-pill-group{flex-direction:row;flex-shrink:0;align-items:center;gap:0;display:flex;position:relative}.viewer-pill-divider{background:rgb(var(--ink) / .11);flex-shrink:0;width:1px;height:24px;margin:0 2px}.viewer-pill-btn{min-width:48px;height:48px;color:rgb(var(--ink) / .82);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;margin:0;padding:0 4px;line-height:1;transition:background .14s,color .14s,opacity .14s;display:inline-flex;position:relative}.viewer-pill-btn__icon{place-items:center;line-height:0;display:grid;position:relative}.viewer-pill-btn__label{letter-spacing:.01em;white-space:nowrap;opacity:.85;font-size:.66rem;font-weight:650;line-height:1}.viewer-pill-btn--labeled{border-radius:15px;min-width:57px;height:57px;padding:4px 9px}.viewer-pill-btn:hover:not(:disabled){background:rgb(var(--ink) / .08);color:rgb(var(--ink) / .96)}.viewer-pill-btn:active:not(:disabled){background:rgb(var(--ink) / .13);transform:scale(.92)}.viewer-pill-btn:disabled{opacity:.32;cursor:not-allowed}.viewer-pill-btn--active{color:#a78bfff5;background:#8367ff24}.viewer-pill-btn--active:hover:not(:disabled){color:#b9a5ff;background:#8367ff38}.viewer-pill-btn--send{color:var(--label-accent);background:linear-gradient(135deg,#5064ff38,#8367ff38);border:1px solid #8367ff47}.viewer-pill-btn--send:hover:not(:disabled){color:var(--label-accent);background:linear-gradient(135deg,#5064ff57,#8367ff57)}.viewer-pill-btn--unsupported{opacity:.28}.viewer-pill-page-indicator{text-align:center;font-variant-numeric:tabular-nums;min-width:3.1rem;color:rgb(var(--ink) / .9);pointer-events:none;-webkit-user-select:none;user-select:none;padding:0 2px;font-size:.97rem;font-weight:650}.viewer-pill-badge{pointer-events:none;background:#a78bfff2;border-radius:50%;width:6px;height:6px;position:absolute;top:-2px;right:-4px;box-shadow:0 0 0 2px #0f0f16cc}.viewer-pill-badge-num{font-variant-numeric:tabular-nums;color:#fff;pointer-events:none;background:#8367fff2;border-radius:7px;place-items:center;min-width:13px;height:13px;padding:0 2px;font-size:.6rem;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-5px;right:-7px;box-shadow:0 0 0 2px #0f0f16cc}.viewer-pill-send-feedback{white-space:nowrap;color:rgb(var(--ink) / .6);background:rgb(var(--scrim) / .85);pointer-events:none;border-radius:8px;padding:3px 8px;font-size:.7rem;font-weight:650;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.viewer-pill-send-feedback--err{color:#f0a8a8}.viewer-popover{z-index:25;background:var(--glass-sheen), var(--glass-base-popover);-webkit-backdrop-filter:blur(32px)saturate(1.7)brightness(1.05);backdrop-filter:blur(32px)saturate(1.7)brightness(1.05);border:1px solid var(--glass-border);min-width:220px;max-width:min(320px,100vw - 2rem);box-shadow:0 8px 32px rgb(var(--ink-rev) / .45), 0 1px 0 rgb(var(--ink) / .11) inset;border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;animation:.14s ease-out both viewer-popover-enter;display:flex;position:fixed}@keyframes viewer-popover-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.viewer-popover--wide{gap:14px;min-width:min(560px,100vw - 1.25rem);max-width:calc(100vw - 1.25rem);padding:18px 22px}.viewer-popover-rail.labeled-slider-rail--horizontal{gap:12px;width:100%;max-width:none}.viewer-popover-rail .labeled-slider-rail__step{border-radius:12px;width:44px;height:44px;font-size:1.1rem}.viewer-popover-rail .labeled-slider-rail__track{min-height:44px}.viewer-popover-rail .labeled-slider-rail__range--horizontal{border-radius:8px;height:16px}.viewer-popover-rail .labeled-slider-rail__range--horizontal::-webkit-slider-thumb{width:36px;height:36px;margin-top:-10px}.viewer-popover-rail .labeled-slider-rail__range--horizontal::-moz-range-thumb{width:36px;height:36px}.viewer-popover-tempo-track{min-height:44px}.viewer-popover-tempo-track .mxml-tempo-range{appearance:none;background:rgb(var(--ink) / .15);border-radius:8px;outline:none;height:16px}.viewer-popover-tempo-track .mxml-tempo-range::-webkit-slider-thumb{appearance:none;background:var(--accent);width:36px;height:36px;box-shadow:0 1px 8px rgb(var(--ink-rev) / .35);cursor:pointer;border-radius:50%}.viewer-popover-tempo-track .mxml-tempo-range::-moz-range-thumb{background:var(--accent);width:36px;height:36px;box-shadow:0 1px 8px rgb(var(--ink-rev) / .35);border:none;border-radius:50%}.viewer-popover__title{letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--ink) / .45);margin:0;font-size:.7rem;font-weight:700}.viewer-popover__hint{color:rgb(var(--ink) / .45);margin:0;font-size:.78rem}.viewer-popover__segmented{background:rgb(var(--ink) / .06);border-radius:10px;gap:4px;padding:3px;display:flex}.viewer-popover__seg-btn{height:34px;color:rgb(var(--ink) / .65);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;flex:1;font-size:.85rem;font-weight:550;transition:background .13s,color .13s}.viewer-popover__seg-btn--active{color:#dcd2fffa;background:#8367ff59}.viewer-popover__seg-btn:hover:not(.viewer-popover__seg-btn--active){background:rgb(var(--ink) / .08);color:rgb(var(--ink) / .85)}.viewer-popover__chips{flex-wrap:wrap;gap:6px;display:flex}.viewer-popover__chip{border:1px solid rgb(var(--ink) / .12);min-width:36px;height:36px;color:rgb(var(--ink) / .7);background:rgb(var(--ink) / .06);cursor:pointer;touch-action:manipulation;border-radius:10px;padding:0 10px;font-size:.88rem;font-weight:600;transition:background .13s,color .13s,border-color .13s}.viewer-popover__chip--active{color:#dcd2fffa;background:#8367ff4d;border-color:#8367ff80}.viewer-popover__chip:hover:not(.viewer-popover__chip--active){background:rgb(var(--ink) / .1);color:rgb(var(--ink) / .9)}.viewer-popover__reset-btn{border:1px solid rgb(var(--ink) / .1);height:32px;color:rgb(var(--ink) / .6);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:0 12px;font-size:.82rem;font-weight:550;transition:background .13s,color .13s;display:inline-flex}.viewer-popover__reset-btn:hover:not(:disabled){background:rgb(var(--ink) / .07);color:rgb(var(--ink) / .85)}.viewer-popover__reset-btn:disabled{opacity:.3;cursor:not-allowed}.viewer-more-option-btn{text-align:left;width:100%;color:rgb(var(--ink) / .88);cursor:pointer;touch-action:manipulation;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:.92rem;font-weight:550;transition:background .13s;display:flex}.viewer-more-option-btn:hover{background:rgb(var(--ink) / .07)}.viewer-more-option-btn__icon{width:22px;height:22px;color:rgb(var(--ink) / .65);flex-shrink:0;place-items:center;display:grid}.viewer-more-option-btn__icon--glyph{font-size:16px;line-height:1}.viewer-more-option-btn__text{flex:auto;min-width:0}.viewer-more-option-btn--destructive{color:#ff8c78eb}.viewer-more-option-btn--destructive .viewer-more-option-btn__icon{color:#ff7864d9}.viewer-more-toggle{background:rgb(var(--ink) / .15);border-radius:11px;flex-shrink:0;width:38px;height:22px;transition:background .15s;position:relative}.viewer-more-toggle--on{background:#8367ffd9}.viewer-more-toggle__knob{width:18px;height:18px;box-shadow:0 1px 3px rgb(var(--ink-rev) / .4);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.viewer-more-toggle--on .viewer-more-toggle__knob{transform:translate(16px)}.viewer-more-sep{background:rgb(var(--ink) / .1);height:1px;margin:4px 0}.viewer-popover__confirm{flex-direction:column;gap:12px;display:flex}.viewer-popover__confirm-warning{color:#ffc8b9e6;margin:0;font-size:.84rem;line-height:1.45}.viewer-popover__confirm-actions{gap:8px;display:flex}.viewer-popover__confirm-btn{border:1px solid rgb(var(--ink) / .1);height:36px;color:rgb(var(--ink) / .7);background:rgb(var(--ink) / .06);cursor:pointer;touch-action:manipulation;border-radius:10px;flex:1;font-size:.85rem;font-weight:600;transition:background .13s,color .13s}.viewer-popover__confirm-btn--destructive{color:#f99;background:#c832322e;border-color:#c83c3c59}.viewer-popover__confirm-btn--destructive:hover:not(:disabled){background:#c8323247}.viewer-popover__confirm-btn:disabled{opacity:.4;cursor:not-allowed}.viewer-quick-actions{left:max(1rem, env(safe-area-inset-left,0px));bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:19;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed}.viewer-quick-actions__btn{border:1px solid rgb(var(--ink) / .18);background:var(--glass-sheen), var(--glass-base-dock);-webkit-backdrop-filter:blur(22px)saturate(1.8)brightness(1.06);backdrop-filter:blur(22px)saturate(1.8)brightness(1.06);width:53px;height:53px;box-shadow:0 2px 14px rgb(var(--ink-rev) / .35), 0 1px 0 rgb(var(--ink) / .12) inset;color:rgb(var(--ink) / .82);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;padding:0;transition:background .15s,transform .1s,color .15s;display:inline-grid}.viewer-quick-actions__btn:active:not(:disabled){transform:scale(.92)}.viewer-quick-actions__btn:disabled{opacity:.3;cursor:not-allowed}.viewer-quick-actions__btn--active{color:var(--label-accent);background:#8367ff2e;border-color:#8367ff61}.bar-shortcut-cluster{z-index:60;pointer-events:none;position:fixed}.bar-shortcut-cluster__btn{pointer-events:auto;animation:.14s ease-out bar-shortcut-cluster-in;position:absolute;transform:translate(-50%,-50%)}.bar-shortcut-cluster__btn:active:not(:disabled){transform:translate(-50%,-50%)scale(.92)}@keyframes bar-shortcut-cluster-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.bar-shortcut-cluster__mini{width:44px;height:44px}.bar-shortcut-cluster__btn--start{color:#2ec27e;border-color:#2ec27e80}.bar-shortcut-cluster__btn--start:active:not(:disabled){background:var(--glass-sheen), #2ec27e38}.bar-shortcut-cluster__btn--end{color:#ff6b6b;border-color:#ff6b6b80}.bar-shortcut-cluster__btn--end:active:not(:disabled){background:var(--glass-sheen), #ff6b6b38}.switch--unsupported{opacity:.35;cursor:not-allowed}.switch--sm{width:44px;height:26px}.switch--sm span:after{width:18px;height:18px;top:3px;left:3px}.switch--sm input:checked+span:after{transform:translate(18px)}.speed-slider{appearance:none;background:rgb(var(--ink) / .15);cursor:pointer;border-radius:2px;outline:none;flex-shrink:0;width:88px;height:4px}.speed-slider--touch{border-radius:5px;width:min(220px,42vw);min-width:160px;height:10px}.speed-slider--touch::-webkit-slider-thumb{width:28px;height:28px;box-shadow:0 1px 8px rgb(var(--ink-rev) / .35);margin-top:-9px}.speed-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 0 6px #8367ff8c}.speed-slider--touch::-moz-range-thumb{background:var(--accent);width:28px;height:28px;box-shadow:0 1px 8px rgb(var(--ink-rev) / .35);border:none;border-radius:50%}.speed-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 6px #8367ff8c}.viewer-countdown{left:max(10px, env(safe-area-inset-left,0px));bottom:max(10px, env(safe-area-inset-bottom,0px));z-index:12;pointer-events:auto;border:1px solid rgb(var(--ink) / .12);background:rgb(var(--scrim) / .64);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:52px;box-shadow:0 2px 14px rgb(var(--ink-rev) / .3);color:rgb(var(--ink) / .92);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:8px 11px;transition:bottom .25s;display:flex;position:absolute}.viewer-countdown.viewer-countdown-portal{left:max(10px, env(safe-area-inset-left,0px));z-index:30;position:fixed}.viewer-countdown.viewer-countdown--docked{position:static;bottom:auto;left:auto}.viewer-countdown--idle{opacity:.5;cursor:default}.viewer-quick-actions__divider{background:rgb(var(--ink) / .18);width:26px;height:1px;margin:1px 0}.viewer-countdown__secs{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.05rem;font-weight:720;line-height:1}.viewer-countdown__hint{letter-spacing:.06em;opacity:.5;text-transform:uppercase;font-size:.6rem;font-weight:650}.image-viewer-root.image-viewer-fit{justify-content:center;align-items:center;display:flex}.stack.tiny span{opacity:.74;font-size:.7rem;display:block}.select{background:rgb(var(--ink) / .1);border:none;border-radius:10px;min-height:44px;padding:6px 28px 6px 10px}.select.wide{min-width:160px}.num{background:rgb(var(--ink) / .1);border:none;border-radius:10px;width:5rem;min-height:44px}.page-band{z-index:5;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;border:none;margin:0;padding:0;position:absolute}.page-band-left{width:15%;min-width:52px;top:0;bottom:0;left:0}.page-band-right{width:15%;min-width:52px;top:0;bottom:0;right:0}.page-band-top{width:auto;height:15%;min-height:52px;top:0;left:0;right:0}.page-band-bottom{width:auto;height:15%;min-height:52px;inset:auto 0 0}.page-band:active{background:rgb(var(--ink) / .04)}.confirm-modal-overlay{z-index:105}.confirm-modal{max-width:400px}.modal.sheet.wake-idle-modal{max-width:min(520px,100vw - 28px)}.wake-idle-modal .confirm-modal-actions{flex-wrap:nowrap}@media (width<=480px){.wake-idle-modal .confirm-modal-actions{flex-flow:column wrap;align-items:stretch}.wake-idle-modal .confirm-modal-actions>.btn{width:100%}}.confirm-modal-title{margin:0 0 .65rem;font-size:1.12rem;font-weight:650;line-height:1.3}.confirm-modal-body{margin:0;line-height:1.45}.confirm-modal-lead{margin:0}.confirm-modal-sheet-name{color:#f4f4fb;font-weight:650}.wake-idle-countdown{color:#fde68a;text-align:center;background:#f59e0b1f;border:1px solid #f59e0b73;border-radius:.8rem;margin:1rem 0 0;padding:.75rem .9rem;font-size:1.05rem;font-weight:700}.confirm-modal-actions{justify-content:flex-end;margin-top:1.25rem}.import-dup-overlay{z-index:110}.import-dup-modal{max-width:400px}.import-dup-title{margin:0 0 .5rem;font-size:1.15rem;font-weight:650}.import-dup-copy{margin:0 0 1.25rem;line-height:1.45}.import-dup-filename{word-break:break-word;font-weight:600}.import-dup-actions{justify-content:flex-end}.modal-overlay{z-index:100;background:rgb(var(--ink-rev) / .65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:clamp(24px,6vw,48px);display:grid;position:fixed;inset:0}.modal-overlay--fullscreen{place-items:stretch stretch;padding:0}.modal.sheet{background:var(--glass-sheen), var(--glass-base-modal);-webkit-backdrop-filter:blur(32px)saturate(1.7)brightness(1.05);backdrop-filter:blur(32px)saturate(1.7)brightness(1.05);border:1px solid var(--glass-border);width:100%;max-width:420px;box-shadow:0 8px 32px rgb(var(--ink-rev) / .45), 0 1px 0 rgb(var(--ink) / .11) inset;border-radius:28px;padding:clamp(18px,5vw,28px);position:relative}.modal-close-btn{z-index:2;border:1px solid rgb(var(--ink) / .12);background:rgb(var(--ink) / .06);width:38px;height:38px;color:rgb(var(--ink) / .82);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .12s;display:inline-flex;position:absolute;top:12px;right:12px}.modal-close-btn:hover{background:rgb(var(--ink) / .13);border-color:rgb(var(--ink) / .22);color:rgb(var(--ink) / .95)}.modal-close-btn:active{transform:scale(.94)}.modal-close-btn:focus-visible{outline-offset:2px;outline:2px solid #8b96ff99}.modal.sheet>.modal-title,.modal.sheet>h2:first-of-type{padding-right:40px}.send-modal-header-trail .modal-close-btn{position:static}.modal-title{margin:0 0 16px;font-size:1.1rem;font-weight:650;line-height:1.3}.modal-actions{justify-content:flex-end;margin-top:1.25rem}.modal-actions.split{justify-content:space-between}.modal-cancel{margin-inline-end:auto}.data-confirm-modal .modal-actions{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px}.data-confirm-modal .modal-actions .row.gap{gap:8px;min-width:0}.data-confirm-modal .modal-actions .btn{white-space:nowrap;padding:0 14px}.data-confirm-field{margin-top:1rem}.sheet-card-actions-overlay{z-index:95}.modal.sheet.sheet-card-actions-modal{max-width:min(360px,100vw - 32px);padding:20px 22px 22px}.sheet-card-actions-title{text-align:center;margin:0 0 16px;font-size:1.05rem;font-weight:650;line-height:1.3}.sheet-card-actions-list{flex-direction:column;gap:10px;display:flex}.sheet-card-actions-btn{justify-content:center;width:100%}.menu-btn-icon{align-items:center;gap:8px;display:inline-flex}.sheet-card-actions-sep{background:linear-gradient(90deg, transparent, rgb(var(--ink) / .12), transparent);border:0;height:1px;margin:2px}.modal-overlay.sheet-details-overlay{padding:max(12px, env(safe-area-inset-top,12px)) max(14px, env(safe-area-inset-right,14px)) max(14px, env(safe-area-inset-bottom,14px)) max(14px, env(safe-area-inset-left,14px))}.modal.sheet.sheet-details-modal{width:min(80vw,100vw - 28px);max-width:min(80vw,100vw - 28px);height:min(80dvh,100dvh - 28px);max-height:min(80dvh,100dvh - 28px);box-shadow:0 32px 96px rgb(var(--ink-rev) / .5), 0 0 0 1px rgb(var(--ink) / .07), inset 0 1px 0 rgb(var(--ink) / .05);background:radial-gradient(120% 90% at 0 -10%,#6c62c424,#0000 55%),linear-gradient(168deg,#262632fc 0%,#13121cfc 100%);border-radius:24px;flex-direction:column;gap:0;padding:clamp(18px,4vw,28px);display:flex;overflow:hidden}.sheet-details-header{flex-shrink:0;align-items:flex-start;gap:clamp(14px,3.5vw,28px);padding-right:44px;display:flex}.sheet-details-header-text{flex:auto;min-width:0}.sheet-details-title{letter-spacing:-.02em;margin:0 0 7px;font-size:clamp(1.12rem,2.75vw,1.38rem);font-weight:670;line-height:1.25}.sheet-details-subtitle{margin:0;font-size:.84rem;line-height:1.42}.sheet-details-header-aside{flex-direction:column;flex:none;align-items:stretch;gap:11px;width:clamp(104px,22vw,132px);display:flex}.sheet-details-cover-card{aspect-ratio:3/4;border:1px solid rgb(var(--ink) / .1);background:rgb(var(--ink-rev) / .42);width:100%;box-shadow:inset 0 1px 0 rgb(var(--ink) / .06), 0 10px 28px rgb(var(--ink-rev) / .42);border-radius:14px;place-items:center;display:grid;overflow:hidden}.sheet-details-cover-img{object-fit:cover;width:100%;height:100%;display:block}.sheet-details-cover-placeholder{text-align:center;padding:12px;font-size:.73rem;line-height:1.42}.sheet-details-art-tools{flex-wrap:nowrap;justify-content:center;gap:9px;display:flex}.sheet-details-icon-btn{border:1px solid rgb(var(--ink) / .12);background:rgb(var(--ink) / .07);width:44px;height:44px;color:rgb(var(--ink) / .9);box-shadow:inset 0 1px 0 rgb(var(--ink) / .08);cursor:pointer;border-radius:13px;flex:none;justify-content:center;align-items:center;padding:0;transition:background .16s,border-color .16s,color .16s,transform .12s;display:inline-flex}.sheet-details-icon-btn:focus-visible{outline-offset:2px;outline:2px solid #8b96ffa6}.sheet-details-icon-btn:hover:not(:disabled){background:rgb(var(--ink) / .13);border-color:rgb(var(--ink) / .2)}.sheet-details-icon-btn:active:not(:disabled){transform:scale(.97)}.sheet-details-icon-btn:disabled{cursor:not-allowed;opacity:.34}.sheet-details-icon-btn--label{cursor:pointer}.sheet-details-icon-btn--label:has(input:disabled){cursor:not-allowed;opacity:.34;pointer-events:none}.sheet-details-art-hint{text-align:center;margin:-2px 0 0;line-height:1.4;font-size:.71rem!important}.sheet-details-rule{background:linear-gradient(90deg, transparent, rgb(var(--ink) / .11) 12%, rgb(var(--ink) / .07) 50%, rgb(var(--ink) / .11) 88%, transparent);border:none;flex-shrink:0;height:1px;margin:clamp(14px,2.8vw,22px) 0}.sheet-details-body{overscroll-behavior:contain;scrollbar-color:rgb(var(--ink) / .2) transparent;flex:1;min-height:0;padding:2px 2px 4px 0;overflow:hidden auto}.sheet-details-field-inner{gap:9px;margin:0;display:grid}.sheet-details-field-label{text-transform:uppercase;letter-spacing:.08em;color:#e8e8f4ad;font-size:.688rem;font-weight:640}.sheet-details-title-input{box-sizing:border-box;border:1px solid rgb(var(--ink) / .11);background:rgb(var(--ink-rev) / .32);letter-spacing:.015em;width:100%;min-height:46px;color:inherit;box-shadow:inset 0 1px 3px rgb(var(--ink-rev) / .2);border-radius:12px;padding:11px 15px;font-size:.938rem;font-weight:520;line-height:1.43}.sheet-details-title-input::placeholder{color:rgb(var(--ink) / .35)}.sheet-details-title-input:focus{background:rgb(var(--ink-rev) / .4);border-color:#7882ff73;outline:none}.sheet-details-desc{box-sizing:border-box;resize:vertical;border:1px solid rgb(var(--ink) / .11);background:rgb(var(--ink-rev) / .32);width:100%;min-height:clamp(112px,22vh,220px);color:inherit;box-shadow:inset 0 1px 3px rgb(var(--ink-rev) / .22);border-radius:12px;padding:13px 15px;font-size:.891rem;font-weight:450;line-height:1.53}.sheet-details-desc::placeholder{color:rgb(var(--ink) / .4)}.sheet-details-desc:focus{background:rgb(var(--ink-rev) / .4);border-color:#7882ff73;outline:none}.sheet-details-hint-msg{margin:0;padding:0 2px 4px}.sheet-details-footer{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:11px;padding-top:4px;display:flex}.sheet-details-footer-btn{min-width:min(116px,36vw);font-weight:620}@media (width<=480px){.modal.sheet.sheet-details-modal{width:calc(100vw - 22px);max-width:calc(100vw - 22px);height:min(82dvh,100dvh - 24px);padding:15px clamp(14px,5vw,20px)}.sheet-details-header-aside{width:clamp(94px,28vw,118px)}}.modal.sheet.send-fullscreen-modal{width:100%;max-width:none;height:100dvh;padding:clamp(14px,4vw,28px);padding-bottom:calc(92px + var(--safe-bottom));border-radius:0;grid-template-rows:auto minmax(0,1fr) auto auto;display:grid}.send-connect-modal{gap:14px;display:grid}.send-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.send-modal-header h2{margin-bottom:.35rem}.send-modal-grid{min-height:0;padding:8px 0 18px;overflow:auto}.send-modal-footer{z-index:105;padding:10px max(12px, env(safe-area-inset-left,0px)) calc(10px + var(--safe-bottom)) max(12px, env(safe-area-inset-right,0px));border-top:1px solid rgb(var(--ink) / .08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e0e14f0;align-items:center;gap:10px;position:fixed;bottom:0;left:0;right:0}.send-modal-footer--toolbar{justify-content:space-between;align-items:center;width:100%;max-width:720px;margin:0 auto;display:flex}.send-footer-save-row{align-items:center;gap:12px;display:flex}.send-footer-save-label{font-size:.88rem;font-weight:640}.send-save-switch{border:1px solid rgb(var(--ink) / .16);background:rgb(var(--ink-rev) / .42);cursor:pointer;border-radius:999px;flex-shrink:0;width:48px;height:28px;padding:0;transition:background .16s;position:relative}.send-save-switch--on{background:#5675ff73;border-color:#829aff73}.send-save-switch__thumb{background:rgb(var(--ink) / .92);pointer-events:none;width:20px;height:20px;box-shadow:0 2px 8px rgb(var(--ink-rev) / .28);border-radius:50%;transition:transform .18s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:4px;transform:translateY(-50%)}.send-save-switch--on .send-save-switch__thumb{transform:translate(20px,-50%)}.send-footer-icon-btn{width:52px;height:52px;color:rgb(var(--ink) / .94);box-shadow:0 14px 32px rgb(var(--ink-rev) / .32);cursor:pointer;background:linear-gradient(135deg,#5675ff59,#9259ff47);border:1px solid #829aff59;border-radius:16px;place-items:center;transition:opacity .14s,transform .14s;display:grid}.send-footer-icon-btn:active:not(.is-disabled){transform:scale(.96)}.send-footer-icon-btn.is-disabled{opacity:.45;pointer-events:none}.send-footer-icon-btn__svg{display:block}.sender-connect-done{gap:14px;padding:8px 0;display:grid}.share-dialog-body{flex-direction:column;gap:16px;display:flex}.share-dialog-lead{margin:0;line-height:1.45}.share-dialog-body .qr-block{gap:12px;margin:0}.share-code-entry{gap:10px}.share-code-entry>span{font-weight:600}.share-approval{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.share-approval-actions{justify-content:center;gap:10px;width:100%;display:flex}.share-approval-actions .btn{flex:1 1 0;max-width:180px}.share-dialog-body .status-line{text-align:center;margin:0}.incoming-body{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.incoming-prompt{margin:0;line-height:1.45}.incoming-preview{border:1px solid var(--line);object-fit:contain;background:rgb(var(--ink-rev) / .28);border-radius:16px;width:min(180px,62vw);max-height:220px;margin:0;display:block}.incoming-details{color:rgb(var(--ink) / .72);justify-content:center;gap:10px;margin:0;font-size:.9rem;display:flex}.modal h2{margin-top:0}.paste-field{background:rgb(var(--ink-rev) / .4);resize:vertical;border:none;border-radius:12px;width:100%;min-height:88px;padding:12px}.code-input{border:1px solid var(--line);background:rgb(var(--ink-rev) / .4);text-align:center;letter-spacing:.18em;border-radius:14px;width:100%;min-height:56px;padding:10px 14px;font-size:1.6rem;font-weight:780}.stack{gap:12px;display:grid}.qr-block{place-items:center;padding:8px;display:grid}.pair-code{letter-spacing:.12em;margin:.35rem 0;font-size:clamp(2.6rem,15vw,4.8rem);font-weight:860;line-height:1}.qr-block svg{background:#fff;border-radius:8px;padding:8px}.hint{text-align:center;opacity:.8;margin:.6rem}.scan-video{background:rgb(var(--ink-rev) / .5);border-radius:14px;width:min(340px,100%)}.scanner-card{border:1px solid var(--line);background:rgb(var(--ink) / .07);border-radius:20px;gap:12px;margin:12px 0;padding:12px;display:grid}.scanner-head{justify-content:space-between}.error-text{color:#ff9cae}.status-line{min-height:1.75rem}.picker-modal{max-height:min(680px,86dvh);overflow:auto}.picker-list{gap:10px;margin:18px 0;display:grid}.picker-row{border:1px solid var(--line);background:rgb(var(--ink) / .07);text-align:left;border-radius:20px;align-items:center;gap:12px;width:100%;min-height:76px;padding:10px;display:flex}.picker-row img,.picker-placeholder{object-fit:cover;background:linear-gradient(135deg,#47415f,#262533);border-radius:16px;flex:none;width:56px;height:56px}.picker-copy{flex:1;min-width:0;display:grid}@media (width<=680px){.library-page{padding:12px;padding-bottom:calc(var(--app-bottom-nav-clearance) + 2rem + var(--safe-bottom))}.cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cover-grid--portrait{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.cover-grid--portrait .cover-tile{max-width:none}.cover-tile{border-radius:20px}.settings-header{flex-direction:column;align-items:flex-start}.settings-card{border-radius:22px}}.overlay-loading{position:absolute;inset-inline:0}.musicxml-holder-wrap{width:100%;position:relative}.detail-dates{flex-direction:column;gap:6px;margin:0;display:flex}.detail-dates__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.detail-dates__label{text-transform:uppercase;letter-spacing:.08em;color:#e8e8f4ad;margin:0;font-size:.688rem;font-weight:640}.detail-dates__value{font-variant-numeric:tabular-nums;color:rgb(var(--ink) / .82);margin:0;font-size:.82rem}.musicxml-beat-mark-layer{z-index:11;pointer-events:none;position:absolute;inset:0;overflow:visible}.musicxml-beat-mark{color:#0b3a8c;-webkit-user-select:none;user-select:none;text-shadow:0 0 1px #fff;font:600 10px/1 system-ui,-apple-system,sans-serif;position:absolute;transform:translate(-50%,-100%)}.musicxml-fingering-mark-layer{z-index:10;pointer-events:none;position:absolute;inset:0;overflow:visible}.musicxml-fingering-mark{color:#cc1515;-webkit-user-select:none;user-select:none;text-shadow:0 0 1px #fff;font:700 10px/1 system-ui,-apple-system,sans-serif;position:absolute;transform:translate(-50%)}.fingering-modal-overlay{z-index:96}.modal.sheet.fingering-modal{flex-direction:column;gap:14px;max-width:min(600px,100vw - 32px);max-height:min(92dvh,100dvh - 48px);padding:20px 22px 22px;display:flex;overflow-y:auto}.fingering-modal-score-wrap{background:#fff;border-radius:8px;width:100%;min-height:120px;position:relative;overflow:hidden}.fingering-modal-footer{z-index:1;flex-direction:column;gap:10px;padding-top:8px;display:flex;position:sticky;bottom:0}.fingering-modal-score-container{width:100%;position:relative}.fingering-modal-score-container svg{display:block;width:100%!important;height:auto!important}.fingering-modal-loading{justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.fingering-note-btn{cursor:pointer;background:0 0;border:none;width:48px;padding:0;position:absolute;transform:translate(-50%)}.fingering-note-indicator{pointer-events:none;background:0 0;border:2px solid #0000;border-radius:50%;width:30px;height:30px;transition:border-color .12s,background .12s;position:absolute;left:50%;transform:translate(-50%,-50%)}.fingering-note-btn--selected .fingering-note-indicator{background:#cc15152e;border-color:#cc1515a6}.fingering-note-btn--conflict .fingering-note-indicator{background:#f59e0b4d;border-color:#f59e0bf2}.fingering-modal-note-label{background:rgb(var(--ink-rev) / .78);color:#fff;white-space:nowrap;pointer-events:none;z-index:5;border-radius:999px;padding:4px 12px;font:600 13px/1.2 system-ui,sans-serif;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.fingering-assigned-number{color:#cc1515;pointer-events:none;-webkit-user-select:none;user-select:none;font:700 14px/1 system-ui,sans-serif;position:absolute;transform:translate(-50%)}.fingering-selector{justify-content:center;gap:8px;display:flex}.fingering-selector-btn{justify-content:center;width:44px;height:44px;padding:0;font:700 17px/1 system-ui,sans-serif}.fingering-selector-btn--active{border:1.5px solid var(--accent);background:var(--accent-soft);color:rgb(var(--ink) / .92)}.fingering-hint{text-align:center;color:var(--text-secondary);margin:0;font-size:.85rem}.fingering-modal-actions{flex-direction:column;gap:10px;margin:0;display:flex}.fingering-modal-save-btn,.fingering-modal-cancel-btn{justify-content:center;width:100%}.musicxml-loop-mark-layer{z-index:12;pointer-events:none;position:absolute;inset:0;overflow:visible}.musicxml-loop-drag-preview-layer{z-index:13;pointer-events:none;position:absolute;inset:0;overflow:visible}.musicxml-loop-drag-preview{box-sizing:border-box;width:0;position:absolute;overflow:visible}.musicxml-loop-drag-preview--end{transform:translate(-100%)}.musicxml-loop-drag-preview__stripe{width:0;box-shadow:1px 0 4px rgb(var(--ink-rev) / .12), -1px 0 4px rgb(var(--ink-rev) / .08);border-radius:2px;margin:0;position:absolute;top:0;bottom:0;left:0}.musicxml-loop-drag-preview--start .musicxml-loop-drag-preview__stripe{border-left:3px dashed #16c759d1}.musicxml-loop-drag-preview--end .musicxml-loop-drag-preview__stripe{border-left:none;border-right:3px dashed #e04d60e0;left:auto;right:0}.musicxml-pin{z-index:2;pointer-events:auto;touch-action:none;min-width:5.75rem;max-width:calc(100vw - 32px);position:absolute;overflow:visible}.musicxml-pin--end{transform:translate(-100%)}.musicxml-pin__head{z-index:3;filter:drop-shadow(0 2px 6px rgb(var(--ink-rev) / .32));margin-bottom:1px;position:absolute;bottom:100%}.musicxml-pin--start .musicxml-pin__head{left:0}.musicxml-pin--end .musicxml-pin__head{left:auto;right:0}.musicxml-pin__badge{letter-spacing:.04em;color:#fff;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;min-width:4.65rem;padding:10px 16px 17px;font-size:.875rem;font-weight:800;line-height:1;display:inline-flex}.musicxml-pin__badge--start{clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),13px calc(100% - 10px),7px 100%,0 calc(100% - 13px));background:linear-gradient(#47e892 0%,#16c759 54%,#0fb34d 100%)}.musicxml-pin__badge--end{clip-path:polygon(0 0,100% 0,100% calc(100% - 13px),calc(100% - 7px) 100%,calc(100% - 13px) calc(100% - 10px),0 calc(100% - 10px));background:linear-gradient(#ff9a9a 0%,#ef6b7a 48%,#e04d60 100%)}.musicxml-pin__line{width:4px;box-shadow:0 0 0 1px rgb(var(--ink-rev) / .07);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.musicxml-pin__line--start{background:#0da34a}.musicxml-pin__line--end{background:#d94358;left:auto;right:0}.musicxml-holder{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff;position:relative}.musicxml-holder *,.musicxml-holder svg text{-webkit-user-select:none;user-select:none}.labeled-slider-rail{touch-action:manipulation;box-sizing:border-box}.labeled-slider-rail--horizontal{flex-direction:row;align-items:center;gap:6px;min-width:0;display:flex}.labeled-slider-rail--vertical{flex-direction:column;align-items:center;gap:2px;display:flex}.labeled-slider-rail__step{width:28px;height:28px;color:rgb(var(--ink) / .82);background:rgb(var(--ink) / .08);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;place-items:center;margin:0;padding:0;font-size:.85rem;font-weight:800;line-height:1;display:grid}.labeled-slider-rail__step:disabled{opacity:.28;cursor:not-allowed}.labeled-slider-rail__track{flex:auto;align-items:center;min-width:0;display:flex;position:relative}.labeled-slider-rail--vertical .labeled-slider-rail__track{flex:none;justify-content:center;align-items:stretch;width:32px;min-height:min(36vh,200px)}.labeled-slider-rail__default-mark{pointer-events:none;z-index:1;background:rgb(var(--ink) / .38);border-radius:1px;position:absolute}.labeled-slider-rail--horizontal .labeled-slider-rail__default-mark{width:2px;top:0;bottom:0;transform:translate(-50%)}.labeled-slider-rail--vertical .labeled-slider-rail__default-mark{height:2px;left:0;right:0;transform:translateY(-50%)}.labeled-slider-rail__range--horizontal{appearance:none;z-index:2;background:rgb(var(--ink) / .15);cursor:pointer;accent-color:#82affff2;border-radius:5px;outline:none;width:100%;height:10px;margin:0;position:relative}.labeled-slider-rail__range--horizontal:disabled{opacity:.45;cursor:not-allowed}.labeled-slider-rail__range--horizontal::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;width:26px;height:26px;box-shadow:0 1px 8px rgb(var(--ink-rev) / .35);border-radius:50%;margin-top:-8px}.labeled-slider-rail__range--horizontal::-moz-range-thumb{background:var(--accent);width:26px;height:26px;box-shadow:0 1px 8px rgb(var(--ink-rev) / .35);border:none;border-radius:50%}.labeled-slider-rail__range--vertical{z-index:2;writing-mode:vertical-lr;accent-color:#82affff2;cursor:pointer;direction:rtl;width:32px;height:min(36vh,200px);margin:0;position:relative}.labeled-slider-rail__range--vertical:disabled{opacity:.45;cursor:not-allowed}.mxml-page-btns{gap:2px;display:flex}.mxml-playback-float{z-index:18;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.mxml-playback-float__panel{pointer-events:auto;background:rgb(var(--scrim) / .78);border:1px solid rgb(var(--ink) / .1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(100%,34rem);box-shadow:0 -4px 28px rgb(var(--ink-rev) / .35);border-bottom:none;border-radius:14px 14px 0 0;padding:8px 12px 10px}.mxml-playback-float__row{flex-flow:wrap;align-items:center;gap:10px 14px;min-width:0;display:flex}.mxml-playback-float__tempo{min-width:0;color:rgb(var(--ink) / .72);letter-spacing:.02em;flex-direction:row;flex:10rem;align-items:center;gap:8px;margin:0;font-size:.75rem;font-weight:600;display:flex}.mxml-playback-float__tempo .mxml-tempo-track--playback-float{flex:72px;min-width:48px}.mxml-playback-float__tempo-label{flex-shrink:0}.mxml-tempo-range--playback-float{flex:72px;width:100%;min-width:0;max-width:none}.mxml-playback-float__tempo-value{font-variant-numeric:tabular-nums;min-width:2.25rem;color:rgb(var(--ink) / .92);text-align:right;flex-shrink:0;font-size:.8125rem;font-weight:700}.mxml-playback-float__tempo-unit{color:rgb(var(--ink) / .5);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:.6875rem;font-weight:600}.musicxml-viewer-fit-root{position:relative}.mxml-zoom-rail-wrap{top:calc(env(safe-area-inset-top,0px) + 44px);left:max(12px, env(safe-area-inset-left,0px));z-index:22;pointer-events:auto;touch-action:manipulation;position:absolute}.mxml-zoom-rail{background:rgb(var(--scrim) / .55);border:1px solid rgb(var(--ink) / .12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 14px rgb(var(--ink-rev) / .28);opacity:.5;transform-origin:0 0;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 10px;transition:opacity .2s;display:flex;transform:scale(.9)}.mxml-zoom-rail:hover,.mxml-zoom-rail:focus-within,.mxml-zoom-rail.mxml-zoom-rail--engaged{opacity:1}.mxml-zoom-rail .labeled-slider-rail__step{background:rgb(var(--ink) / .14);color:rgb(var(--ink) / .9)}.viewer-bar.viewer-bar--hidden~.viewer-stage .mxml-zoom-rail-wrap{top:max(12px, env(safe-area-inset-top,0px))}.pwa-update-toast{z-index:10050;left:max(16px, env(safe-area-inset-left,0px));right:max(16px, env(safe-area-inset-right,0px));bottom:calc(14px + var(--app-bottom-nav-clearance,0px) + var(--safe-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(1.6);backdrop-filter:blur(16px)saturate(1.6);box-shadow:var(--shadow);background:#161622c7;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;position:fixed}.pwa-update-toast__copy{flex:1;min-width:0}.pwa-update-toast__title{margin:0;font-size:.95rem;font-weight:650}.pwa-update-toast__meta{opacity:.72;word-break:break-all;margin:3px 0 0;font-size:.73rem}.pwa-update-toast__actions{flex-shrink:0;gap:8px;display:flex}.pwa-update-toast__actions .btn{border-radius:10px;min-height:38px;padding:0 16px;font-size:.85rem;font-weight:600}@media (width>=540px){.pwa-update-toast{max-width:min(460px,100vw - 32px);left:50%;right:auto;transform:translate(-50%)}}.app-toast-stack{z-index:10060;bottom:calc(16px + var(--app-bottom-nav-clearance,0px) + var(--safe-bottom));pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.app-toast{white-space:nowrap;pointer-events:none;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(1.6);backdrop-filter:blur(14px)saturate(1.6);box-shadow:var(--shadow);color:rgb(var(--ink) / .88);background:#1e1e2ed1;border-radius:20px;padding:9px 18px;font-size:.82rem;font-weight:650;animation:.18s app-toast-in}.app-toast-stack--top{bottom:auto;top:calc(16px + var(--safe-top,0px))}.app-toast--ok{color:#7ee8a2}.app-toast--err{color:#f0a8a8}.app-toast--warn{color:#fde68a}@keyframes app-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quick-switch{flex-shrink:0;position:relative}.quick-switch__btn{background:rgb(var(--ink) / .08);color:rgb(var(--ink) / .82);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:7px;transition:background .15s;display:inline-flex}.quick-switch__btn:hover{background:rgb(var(--ink) / .14)}.quick-switch__btn:focus-visible{outline-offset:2px;outline:2px solid #8367ff99}.quick-switch__btn[aria-expanded=true]{color:#fff;background:#8367ff38}.quick-switch__panel{z-index:200;background:var(--glass-sheen), var(--glass-base-popover);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px)saturate(1.6)brightness(1.04);backdrop-filter:blur(18px)saturate(1.6)brightness(1.04);min-width:220px;max-width:min(320px,100vw - 24px);box-shadow:0 12px 40px rgb(var(--ink-rev) / .55);border-radius:16px;flex-direction:column;gap:2px;padding:6px;animation:.14s quick-switch-in;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes quick-switch-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.quick-switch__item{color:rgb(var(--ink) / .88);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;flex-direction:row;align-items:center;gap:10px;padding:7px 8px;transition:background .12s;display:flex}.quick-switch__item:hover{background:rgb(var(--ink) / .08)}.quick-switch__item:focus-visible{outline-offset:1px;outline:2px solid #8367ff99}.quick-switch__thumb-wrap{background:rgb(var(--ink) / .06);border-radius:8px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.quick-switch__thumb{object-fit:cover;width:100%;height:100%}.quick-switch__thumb-placeholder{opacity:.45;font-size:1.1rem}.quick-switch__title{flex:auto;min-width:0;font-size:.84rem;font-weight:560;line-height:1.3}.splash-screen{z-index:9999;background:var(--splash-bg);pointer-events:none;opacity:1;will-change:opacity;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.5rem,3vw,1.4rem);transition:opacity .576s ease-out;display:flex;position:fixed;inset:0}.splash--fading{opacity:0}.splash-stage{aspect-ratio:1;place-items:center;width:min(320px,64vw);display:grid;position:relative}.splash-logo{z-index:2;object-fit:contain;opacity:0;filter:drop-shadow(0 0 #a791ff00);width:min(220px,50vw);height:auto;transition:opacity .34s ease-out,transform .48s cubic-bezier(.2,.8,.2,1),filter .34s ease-out;position:relative;transform:scale(.94)}.splash--on .splash-logo{opacity:1;filter:drop-shadow(0 0 22px #a791ff8c);transform:scale(1)}.splash--off .splash-logo{opacity:0;filter:brightness(1.35)drop-shadow(0 0 10px #a791ff40);transition:opacity .32s ease-in,transform .36s ease-in,filter .22s ease-out;transform:scale(.965)}.splash--halo .splash-logo,.splash--fading .splash-logo{opacity:0;filter:brightness(0)drop-shadow(0 0 #0000);transform:scale(.95)}.splash-halo{opacity:0;pointer-events:none;will-change:opacity, transform;border-radius:50%;transition:opacity .4s ease-out,transform .8s ease-out;position:absolute;inset:0;transform:scale(.92)}.splash-halo--inner{z-index:1;background:radial-gradient(closest-side, rgb(var(--ink) / 0) 30%, #c6b4ff8c 48%, #8367ff2e 64%, #8367ff00 78%);filter:blur(.5px)}.splash-halo--outer{z-index:0;filter:blur(6px);background:radial-gradient(closest-side,#8367ff00 38%,#8367ff38 58%,#8367ff00 82%)}.splash--on .splash-halo--inner{opacity:.35;transform:scale(1)}.splash--on .splash-halo--outer{opacity:.45;transform:scale(1.05)}.splash--off .splash-halo--inner{opacity:.95;transition:opacity .22s ease-out,transform .32s ease-out;transform:scale(1.04)}.splash--off .splash-halo--outer{opacity:.85;transition:opacity .26s ease-out,transform .36s ease-out;transform:scale(1.12)}.splash--halo .splash-halo--inner{opacity:.55;transition:opacity 1s ease-out,transform 1.1s ease-out;transform:scale(1.08)}.splash--halo .splash-halo--outer{opacity:.5;transition:opacity 1.05s ease-out,transform 1.15s ease-out;transform:scale(1.22)}.splash--fading .splash-halo--inner{opacity:0;transition:opacity .52s ease-in,transform .56s ease-in;transform:scale(1.18)}.splash--fading .splash-halo--outer{opacity:0;transition:opacity .54s ease-in,transform .6s ease-in;transform:scale(1.34)}.splash-title{letter-spacing:.01em;white-space:nowrap;margin-top:-.25em;font-family:Dancing Script Variable,Brush Script MT,cursive;font-size:clamp(2.1rem,13vw,3.6rem);font-weight:700;line-height:1;display:inline-block;position:relative}.splash-title__sizer{visibility:hidden}.splash-title__reveal{white-space:nowrap;width:0;animation:1.18s cubic-bezier(.55,.1,.25,1) .42s forwards splash-write;position:absolute;inset:0;overflow:hidden}.splash-title__ink{background:var(--wordmark-ink);color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(var(--wordmark-glow));-webkit-background-clip:text;background-clip:text}.splash-pen{filter:blur(.5px);opacity:0;background:radial-gradient(closest-side,#fffffff2 0%,#c6b4ffd9 35%,#8367ff00 75%);border-radius:50%;width:clamp(10px,3vw,16px);height:clamp(10px,3vw,16px);animation:1.18s cubic-bezier(.55,.1,.25,1) .42s forwards splash-pen;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}@keyframes splash-write{to{width:100%}}@keyframes splash-pen{0%{opacity:0;left:0}12%{opacity:1}88%{opacity:1}to{opacity:0;left:100%}}@media (prefers-reduced-motion:reduce){.splash-screen,.splash-logo,.splash-halo{filter:none!important;transition:opacity .12s linear!important;transform:none!important}.splash-title__reveal{width:100%!important;animation:none!important}.splash-pen{display:none!important}}.cof-overlay{z-index:105;background:rgb(var(--ink-rev) / .55);padding:max(16px, env(safe-area-inset-top,16px)) 16px max(16px, env(safe-area-inset-bottom,16px))}.modal.sheet.cof-modal{max-width:min(768px,100vw - 24px);max-height:calc(100dvh - 32px);padding:clamp(22px,4vw,34px);overflow:hidden auto}.cof-panel-title{text-align:center;margin:0 0 24px;font-size:1.15rem;font-weight:650}.cof{flex-direction:column;align-items:center;gap:26px;width:100%;max-width:100%;display:flex}.cof-wheel{--cof-size:min(90vw, 672px);width:var(--cof-size);height:var(--cof-size);flex:none;max-width:100%;margin:6px auto 0;position:relative;container-type:size}.cof-rings{transform-origin:50%;width:100%;height:100%;transition:transform .7s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;overflow:visible}.cof-segment{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transform-box:view-box;transform-origin:50%;outline:none;transition:transform .45s cubic-bezier(.22,1,.36,1),filter .3s}.cof-wedge{stroke:#0c0a168c;stroke-width:1px;transition:filter .25s}.cof-wedge-major{fill:url(#cofBoldGrad)}.cof-wedge-minor,.cof-rings.is-minor .cof-wedge-major{fill:url(#cofLightGrad);stroke:#7869a052}.cof-rings.is-minor .cof-wedge-minor{fill:url(#cofBoldGrad);stroke:#0c0a168c}.cof-wedge-dim{fill:url(#cofDimGrad);stroke:#9687be2e}.cof-segment:hover .cof-wedge,.cof-segment:focus-visible .cof-wedge{filter:brightness(1.1)}.cof-segment.is-selected{filter:drop-shadow(0 0 18px #a78bfae6) drop-shadow(0 0 7px rgb(var(--ink) / .6));transform:scale(1.055)}.cof-segment.is-selected .cof-wedge-major{fill:url(#cofSelGrad);stroke:rgb(var(--ink) / .95);stroke-width:2.6px}.cof-segment.is-selected .cof-wedge-minor{fill:#f8f5fdf7}.cof-rings.is-minor .cof-segment.is-selected .cof-wedge-major{fill:#f8f5fdf7;stroke:#7869a052;stroke-width:1px}.cof-rings.is-minor .cof-segment.is-selected .cof-wedge-minor{fill:url(#cofSelGrad);stroke:rgb(var(--ink) / .95);stroke-width:2.6px}.cof-label{pointer-events:none;transform-box:fill-box;transform-origin:50%;font-family:inherit;font-weight:700;transition:transform .7s cubic-bezier(.22,1,.36,1)}.cof-label-major{fill:#fff;letter-spacing:.2px;font-size:15px;font-weight:700}.cof-label-wide{letter-spacing:0;font-size:11.5px}.cof-label-minor{fill:#2a2440;font-size:11px;font-weight:600}.cof-rings.is-minor .cof-label-major{fill:#3a3358;font-weight:600}.cof-rings.is-minor .cof-label-minor{fill:#f3eeff;font-size:12px;font-weight:700}.cof-label-dim{fill:#b9a9dd;font-size:8.5px;font-weight:600}.cof-home-dot{fill:#f3c64a;stroke:#78560040;stroke-width:.5px;filter:drop-shadow(0 0 3px #f3c64ad9);pointer-events:none;r:2.5}.cof-hub-rim{fill:#100e1af2;stroke:#a78bfa40;stroke-width:1.5px}.cof-sheen{pointer-events:none;background:radial-gradient(120% 80% at 50% 0%, rgb(var(--ink) / .16), rgb(var(--ink) / 0) 55%), radial-gradient(100% 100% at 50% 120%, rgb(var(--ink-rev) / .28), rgb(var(--ink-rev) / 0) 60%);z-index:1;border-radius:50%;position:absolute;inset:0}.cof-marker{border-left:11px solid #0000;border-right:11px solid #0000;border-top:15px solid rgb(var(--ink) / .95);width:0;height:0;filter:drop-shadow(0 1px 3px rgb(var(--ink-rev) / .55));pointer-events:none;z-index:3;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.cof-hub{perspective:1000px;z-index:2;width:47%;height:47%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cof-flip{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.22,1,.36,1);position:relative}.cof-flip.is-flipped{transform:rotateY(180deg)}.cof-flip-face{background:radial-gradient(120% 120% at 50% 0%, #7c5cc838, rgb(var(--ink-rev) / 0) 60%), #0e0c18f5;box-shadow:0 0 0 1px rgb(var(--ink) / .04) inset;backface-visibility:hidden;border:1px solid #a78bfa38;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2cqmin;padding:2.4cqmin;display:flex;position:absolute;inset:0;overflow:hidden}.cof-flip-back{transform:rotateY(180deg)}.cof-flip.is-flipped .cof-flip-front,.cof-flip:not(.is-flipped) .cof-flip-back{pointer-events:none}.cof-keysig{justify-content:center;align-items:center;width:90%;margin-bottom:1.6cqmin;display:flex}.cof-keysig-svg{width:auto;max-width:100%;height:15cqmin;overflow:visible}.cof-keysig-line{stroke:#f3eeffd9}.cof-keysig-clef,.cof-keysig-acc{fill:#f3eeff}.cof-keysig-acc{font-weight:200}.cof-chord-list{flex-wrap:wrap;place-content:center;gap:1.3cqmin;max-width:96%;display:flex}.cof-chord-btn{min-width:8cqmin;min-height:7.2cqmin;color:inherit;cursor:pointer;background:#7c5cc824;border:1px solid #a78bfa38;border-radius:1.9cqmin;flex-direction:column;justify-content:center;align-items:center;gap:.3cqmin;padding:1.3cqmin 1.9cqmin;transition:background .15s,transform .1s,border-color .15s;display:flex}.cof-chord-btn:hover,.cof-chord-btn:focus-visible{background:#8c6cdc47;border-color:#a78bfa73}.cof-chord-btn:active{transform:scale(.94)}.cof-chord-roman{color:#a99cc6;font-size:1.6cqmin}.cof-chord-name{color:#f3eeff;font-size:2.5cqmin;font-weight:700}.cof-chord-detail-name{color:#f3eeff;font-size:4.2cqmin;font-weight:750}.cof-chord-notes{gap:1.2cqmin;display:flex}.cof-note-chip{color:#f3eeff;background:#8c6cdc42;border:1px solid #a78bfa4d;border-radius:1.6cqmin;padding:1cqmin 1.9cqmin;font-size:2.4cqmin;font-weight:650}.cof-flip-actions{flex-direction:column;align-items:center;gap:2cqmin;margin-top:.9cqmin;display:flex}.cof-flip-actions-row{align-items:center;gap:1.8cqmin;display:flex}.cof-play-btn,.cof-back-btn{cursor:pointer;border:1px solid #a78bfa4d;border-radius:999px;padding:1.6cqmin 3.3cqmin;font-size:2.1cqmin;font-weight:650}.cof-play-btn{color:#fff;border-color:rgb(var(--ink) / .25);background:linear-gradient(#8c6cdc,#6a4fc0)}.cof-back-btn{color:#a99cc6;background:0 0}.cof-piano-btn{cursor:pointer;background:#7c5cc829;border:1px solid #a78bfa4d;border-radius:999px;justify-content:center;align-items:center;padding:1.2cqmin 2.6cqmin;display:inline-flex}.cof-piano-btn .tool-card-glyph{font-size:3cqmin;line-height:1}.mode-toggle{z-index:4;background:#7c5cc829;border:1px solid #a78bfa38;border-radius:999px;gap:5px;padding:5px;display:inline-flex;position:relative}.mode-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:9px 30px;font-size:.9rem;font-weight:650;transition:background .18s,color .18s,box-shadow .18s}.mode-btn.is-active{color:#2a2440;background:linear-gradient(#f3eeff,#d9ccf5);box-shadow:0 2px 10px #7c5cc866}.cof-menu-btn{align-items:center;gap:8px;display:inline-flex}.cof-modal .modal-actions{z-index:4;justify-content:center;position:relative}@media (prefers-reduced-motion:reduce){.cof-rings,.cof-flip,.cof-segment,.cof-label{transition:none}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tool-page,.tools-page{max-width:960px;min-height:100dvh;padding:clamp(16px,5vw,32px);padding-bottom:calc(var(--app-bottom-nav-clearance) + 2rem + var(--safe-bottom));margin:0 auto}.tool-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.tool-crosslink{white-space:nowrap}.page-title{letter-spacing:-.04em;text-align:center;margin:8px 0 20px;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.05}.chord-sheet-page .page-title{flex:none;margin:0}.chord-sheet-page{padding-top:clamp(8px,1.6vh,20px);padding-bottom:calc(var(--app-bottom-nav-clearance) + var(--safe-bottom));flex-direction:column;gap:clamp(6px,1.4vh,18px);display:flex}.chord-sheet-page .app-brand-header{flex:none;margin-bottom:0}.chord-sheet-page .app-logo--page img{width:min(168px,13vh,26vw)}.tools-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.tool-card{border:1px solid var(--line);background:var(--card);box-shadow:0 16px 38px rgb(var(--ink-rev) / .22);color:inherit;border-radius:26px;align-items:center;gap:16px;padding:22px;text-decoration:none;transition:transform .16s,background .16s,border-color .16s;display:flex}.tool-card:hover,.tool-card:focus-visible{background:var(--card-strong);border-color:#a78bfa66;transform:translateY(-2px)}.tool-card-icon{width:64px;height:64px;color:var(--label-accent);background:#7c5cc82e;border:1px solid #a78bfa47;border-radius:18px;flex:none;place-items:center;display:grid}.tool-card-glyph{font-size:2rem;line-height:1}.tool-card-text{flex-direction:column;gap:4px;display:flex}.tool-card-title{font-size:1.18rem;font-weight:700}.tool-card-desc{font-size:.92rem;line-height:1.35}.circle-tool-stage{justify-content:center;display:flex}.chord-favorites{box-shadow:inset 0 0 0 1px rgb(var(--ink) / .02), 0 10px 28px rgb(var(--ink-rev) / .18);background:linear-gradient(#7c5cc824,#7c5cc80d);border:1px solid #a78bfa47;border-radius:22px;flex-direction:column;flex:none;gap:clamp(6px,1vh,12px);padding:clamp(10px,1.6vh,16px) 18px;display:flex}.chord-favorites-title{letter-spacing:.08em;text-transform:uppercase;color:var(--label-accent);margin:0;font-size:.82rem;font-weight:700}.chord-favorites-list{flex-wrap:wrap;gap:8px;display:flex}.chord-favorites-empty{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.4}.chord-pin-chip{color:var(--text);cursor:pointer;background:#7c5cc829;border:1px solid #a78bfa4d;border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:650}.chord-pin-chip.is-active{border-color:rgb(var(--ink) / .25);color:#fff;background:linear-gradient(#8c6cdc,#6a4fc0)}.chord-sheet-body{align-items:flex-start;gap:clamp(20px,5vw,48px);display:flex}.chord-rail{flex-direction:column;flex:none;gap:6px;display:flex}.chord-letter-btn{border:1px solid var(--line);background:var(--card);width:52px;height:48px;color:var(--text-secondary);cursor:pointer;border-radius:14px;font-size:1.25rem;font-weight:700;transition:background .14s,color .14s,border-color .14s}.chord-letter-btn.is-active{color:#2a2440;border-color:rgb(var(--ink) / .3);background:linear-gradient(#f3eeff,#d9ccf5)}.chord-main{flex-direction:column;flex:auto;gap:clamp(8px,1.8vh,24px);min-width:0;display:flex}.chord-mode-row{justify-content:center;display:flex}.chord-divider{background:linear-gradient(90deg, transparent, var(--line), transparent);border:0;width:100%;height:1px;margin:2px 0}.chord-search-row{flex:none;justify-content:center;width:100%;margin-top:auto;padding-top:clamp(6px,1.2vh,14px);display:flex}.chord-search{width:100%;max-width:420px}.chord-search .settings-text-input{text-align:center;width:100%}.chord-search .settings-text-input.is-invalid{color:#ffcd8a;border-color:#ffb050cc;box-shadow:0 0 0 2px #ffb05040}.chord-search .settings-text-input.is-invalid::placeholder{color:#ffcd8ab3}.chord-search-row:has(.settings-text-input.is-invalid){border-color:#ffb0508c}.settings-text-input.is-invalid{border-color:#ff787899}.chord-accidentals,.chord-inversions{flex-wrap:wrap;gap:8px;display:flex}.chord-accidentals{justify-content:center}.chord-types{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px;display:grid}.chord-acc-btn{border:1px solid var(--line);background:var(--card);min-width:48px;color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:7px 12px;font-weight:700}.chord-acc-btn.is-active{color:#fff;background:#7c5cc852;border-color:#a78bfa80}.chord-type-chip{aspect-ratio:1;background:var(--card);color:var(--text-secondary);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;padding:4px;font-size:.82rem;font-weight:650;transition:background .14s,color .14s;display:flex}.chord-type-chip.is-active{color:#fff;background:linear-gradient(#8c6cdc,#6a4fc0)}.chord-display{border:1px solid var(--line);background:var(--card);box-shadow:0 16px 38px rgb(var(--ink-rev) / .22);border-radius:22px;flex-direction:column;gap:12px;padding:16px;display:flex}.chord-display-head{flex-wrap:wrap;align-items:center;gap:16px clamp(20px,4vw,36px);display:flex}.chord-display-name{letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,7vw,2.8rem)}.chord-display-head .chord-pin-btn{margin-left:auto}.chord-pin-btn{width:48px;height:48px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #a78bfa4d;border-radius:999px;font-size:1.5rem;line-height:1}.chord-pin-btn.is-pinned{color:#ffd56b;border-color:#ffd56b80}.chord-notes{flex-wrap:wrap;gap:10px;display:flex}.chord-note-chip{color:var(--text);background:#8c6cdc42;border:1px solid #a78bfa4d;border-radius:12px;padding:6px 14px;font-size:1.1rem;font-weight:700}.chord-piano{width:100%;overflow-x:auto}.piano{width:100%;height:auto;max-height:clamp(120px,22vh,210px);display:block}.piano-key{stroke:#1c1730;stroke-width:.6px}.piano-key--white{fill:#f4f0ff}.piano-key--black{fill:#241d36;stroke:#0f0b1c}.piano-key--white.is-on{fill:#b69cf2}.piano-key--black.is-on{fill:#8c6cdc}.piano-key.is-root{fill:#7b5fe0}.piano-key--black.is-root{fill:#6a4fc0}.chord-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chord-inv-btn{border:1px solid var(--line);background:var(--card);min-width:44px;color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:8px 14px;font-weight:650}.chord-inv-btn.is-active{color:#fff;background:#7c5cc852;border-color:#a78bfa80}.chord-play-btn{border:1px solid rgb(var(--ink) / .25);color:#fff;cursor:pointer;background:linear-gradient(#8c6cdc,#6a4fc0);border-radius:999px;padding:12px 26px;font-size:1rem;font-weight:700}@media (width<=560px){.chord-sheet-body{flex-direction:column}.chord-rail{flex-flow:wrap;width:100%}.chord-letter-btn{flex:auto;width:auto}}.setlists-toolbar{margin-bottom:clamp(12px,3vw,18px)}.setlists-empty{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:clamp(24px,8vw,56px) 1rem;display:flex}.setlists-empty .placeholder{aspect-ratio:5/6.15;border:1px solid var(--line);border-radius:18px;width:clamp(120px,40vw,180px);overflow:hidden}.setlists-empty p{max-width:32ch}.setlist-empty-viewer{background:var(--viewer-bg,#0d0d12);flex-direction:column;height:100dvh;display:flex}.setlist-empty-viewer__bar{height:56px;padding:0 14px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box;background:var(--glass-sheen), var(--glass-base-dock);-webkit-backdrop-filter:blur(22px)saturate(1.7)brightness(1.04);backdrop-filter:blur(22px)saturate(1.7)brightness(1.04);border-bottom:1px solid var(--glass-border);color:rgb(var(--ink) / .55);flex:none;align-items:center;gap:12px;display:flex}.setlist-empty-viewer__bar-title{font-size:.95rem;font-weight:600}.setlist-empty-viewer__stage{flex:auto;justify-content:center;align-items:stretch;min-height:0;padding:clamp(10px,3vw,28px);display:flex}.setlist-empty-viewer__page{background:#fff;border-radius:4px;width:min(900px,100%);box-shadow:0 10px 40px #00000073}.setlist-item-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.setlist-item-row{border:1px solid var(--line);background:rgb(var(--ink) / .04);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.setlist-item-drag,.setlist-item-remove,.setlist-item-open{width:44px;height:44px;color:rgb(var(--ink) / .6);cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:12px;flex:none;place-items:center;display:inline-grid}.setlist-item-open:not(:disabled):active{color:var(--label-accent,#8b5cf6)}.setlist-item-open:disabled{opacity:.4;cursor:not-allowed}.setlist-item-drag{cursor:grab;touch-action:none}.setlist-item-drag:active{cursor:grabbing}.setlist-item-remove:active{color:var(--danger,#d9534f)}.setlist-item-index{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:1.4em}.setlist-item-chip{flex:none;align-self:center;width:auto}.setlist-item-thumb{border:1px solid var(--line);background:rgb(var(--ink) / .04);border-radius:8px;flex:none;place-items:center;width:44px;height:54px;display:grid;overflow:hidden}.setlist-item-thumb img,.setlist-item-thumb .placeholder{object-fit:cover;width:100%;height:100%}.setlist-item-text{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.setlist-item-title{font-weight:500}.setlist-item-autoscroll{flex:none}.setlist-item-speed,.setlist-item-dwell{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.setlist-item-speed-head{align-items:center;gap:8px;display:flex}.setlist-item-speed-reset{color:var(--label-accent,#8b5cf6);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem}.setlist-item-speed input[type=range]{width:clamp(80px,22vw,140px)}.setlist-item-dwell input[type=number]{text-align:center;border:1px solid var(--line);background:rgb(var(--ink) / .04);width:64px;color:rgb(var(--ink));border-radius:8px;padding:6px;font-family:inherit}.viewer-title--crumbs{align-items:baseline;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.viewer-crumb{min-width:0}.viewer-crumb--set{flex:0 auto;font-weight:600}.viewer-crumb--sheet{opacity:.72;flex:auto}.viewer-crumb-sep{opacity:.5;flex:none}.viewer-bar__setlist-pos{font-variant-numeric:tabular-nums;opacity:.8;flex:none;padding:0 4px;font-size:.82rem;font-weight:600}.viewer-bar__setlist-pos--button{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;transition:opacity .12s,background .12s}.viewer-bar__setlist-pos--button:hover,.viewer-bar__setlist-pos--button:focus-visible{opacity:1;background:rgb(var(--ink) / .12)}.quick-switch__badge{letter-spacing:.06em;text-transform:uppercase;color:var(--fmt-img-text,#34d399);background:#38bdf829;border:1px solid #38bdf875;border-radius:999px;flex:none;margin-left:auto;padding:1px 6px;font-size:.58rem;font-weight:760}.modal.sheet.setlist-details-modal{width:min(760px,100vw - 28px);max-width:min(760px,100vw - 28px);height:min(88dvh,100dvh - 28px);max-height:min(88dvh,100dvh - 28px);box-shadow:0 32px 96px rgb(var(--ink-rev) / .5), 0 0 0 1px rgb(var(--ink) / .07), inset 0 1px 0 rgb(var(--ink) / .05);background:radial-gradient(120% 90% at 0 -10%,#6c62c429,#0000 55%),linear-gradient(168deg,#262632fc 0%,#13121cfc 100%);border-radius:24px;flex-direction:column;gap:14px;display:flex;overflow:hidden}.setlist-details-header{justify-content:space-between;align-items:center;gap:12px;padding-right:44px;display:flex}.setlist-details-title{margin:0;font-size:1.2rem;font-weight:600}.setlist-details-meta{align-items:stretch;gap:14px;display:flex}.setlist-details-cover{flex-direction:column;flex:0 0 clamp(88px,26vw,120px);gap:8px;display:flex}.setlist-details-cover-img,.setlist-details-cover .placeholder{aspect-ratio:5/6.15;border:1px solid var(--line);object-fit:cover;border-radius:12px;width:100%;overflow:hidden}.setlist-details-cover-tools{flex-direction:column;gap:6px;display:flex}.setlist-details-cover-btn{padding:6px 8px;font-size:.82rem}.setlist-details-fields{flex-direction:column;flex:auto;gap:10px;min-width:0;display:flex}.setlist-details-title-input{letter-spacing:-.01em;color:rgb(var(--ink));background:rgb(var(--ink) / .04);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-family:inherit;font-size:clamp(1.1rem,4vw,1.4rem);font-weight:600}.setlist-details-title-input:focus{border-color:rgb(var(--ink) / .4);outline:none}.setlist-details-desc{color:rgb(var(--ink) / .85);background:rgb(var(--ink) / .04);border:1px solid var(--line);resize:none;border-radius:10px;flex:auto;min-height:0;padding:8px 10px;font-family:inherit;font-size:.95rem}.btn.setlist-add-btn{border:1.5px solid var(--label-accent,#8b5cf6);color:var(--label-accent,#8b5cf6);background:0 0;font-weight:600}.setlist-details-items{border-top:1px solid var(--line);flex-direction:column;flex:auto;min-height:0;padding-top:12px;display:flex;position:relative}.setlist-details-empty{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:14px;display:flex}.setlist-details-list{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding-bottom:64px;overflow-y:auto}.setlist-details-add-dock{background:linear-gradient(to top, var(--glass-base-dock) 60%, transparent);pointer-events:none;justify-content:center;padding-top:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.setlist-details-add-dock .btn{pointer-events:auto}.setlist-details-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.setlist-details-save{min-width:120px}.setlist-picker{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.setlist-picker-filter{flex:none;position:relative}.setlist-picker-filter-input{width:100%;color:rgb(var(--ink));background:rgb(var(--ink) / .04);border:1px solid var(--line);border-radius:10px;padding:9px 38px 9px 12px;font-family:inherit;font-size:.95rem}.setlist-picker-filter-input:focus{border-color:rgb(var(--ink) / .4);outline:none}.setlist-picker-filter-clear{width:30px;height:30px;color:rgb(var(--ink) / .6);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:inline-grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.setlist-picker-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.setlist-picker-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:clamp(10px,2vw,16px)}.setlist-picker-tile{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:14px;padding:0;position:relative}.setlist-picker-tile .setlist-picker-check{border:1px solid rgb(var(--ink) / .3);background:var(--glass-base-dock);color:#0000;border-radius:50%;place-items:center;width:26px;height:26px;transition:background .12s,color .12s;display:grid;position:absolute;top:8px;right:8px}.setlist-picker-tile--selected{border-color:var(--label-accent,#8b5cf6)}.setlist-picker-tile--selected .setlist-picker-check{background:var(--label-accent,#8b5cf6);border-color:var(--label-accent,#8b5cf6);color:#fff}.setlist-picker-actions{flex:none;justify-content:flex-end;gap:10px;display:flex}
