@font-face{font-family:IM Fell English;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/im-fell-english.woff2)format("woff2")}@font-face{font-family:IM Fell English;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/im-fell-english-italic.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#202b20;--panel:#293529;--line:#9c7332;--text:#e5c993;--muted:#cab990;--accent:#c19845;--accent-soft:#b78a342b;--selected-cloth:linear-gradient(180deg, #6e5224, #523b17);--slot-recess:inset 0 3px 8px #050a0699, inset 0 -1px 0 #c1984524;--slot-raised:inset 0 1px 0 #f0d6a259, 0 1px 2px #050a0680;--thread-rule:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 .8 9.2 5 5 9.2.8 5Z' fill='%23201a10' stroke='%23c19845' stroke-width='1.3'/%3E%3C/svg%3E") left center / 10px 10px no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 .8 9.2 5 5 9.2.8 5Z' fill='%23201a10' stroke='%23c19845' stroke-width='1.3'/%3E%3C/svg%3E") right center / 10px 10px no-repeat, linear-gradient(90deg, transparent, #9c7332 12px calc(100% - 12px), transparent) center / 100% 1px no-repeat;--rust:#7b3925;--story-font:"IM Fell English", Georgia, serif;--cloth:url(/art/cloth.jpg);--cloth-size:768px;--tapestry-band-height:clamp(12px, 3.7vw, 64px);--cord:repeating-linear-gradient(56deg, #9b722e 0 .5px, #bc8e3e .7px 1.1px, #d5ac55 1.3px 1.7px, #b98b39 1.9px 2.3px, #926a27 2.5px 2.8px, #bc9141 3px 3.3px);--satin:radial-gradient(ellipse at 45% 30%, #f0d6a2 0 .4px, #d5b67e .7px, transparent 1.1px), repeating-linear-gradient(14deg, #e3c68f 0 .8px, #b99a64 1px 1.3px, #e5cb96 1.6px 2.8px, #ccad77 3px 3.3px);--weave:repeating-linear-gradient(0deg, #0d160f28 0 .6px, transparent .9px 2.2px, #c5ad6d0b 2.4px 3px, transparent 3.2px 4.3px), repeating-linear-gradient(88deg, #b5b78605 0 1px, transparent 1px 5px);font:18px/1.5 var(--story-font);color:var(--text);background:#121b14}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;overflow:hidden}body{background:var(--panel) var(--cloth) repeat top left / var(--cloth-size);margin:0}button,input,select{font:inherit}button,a,label.action,summary{-webkit-tap-highlight-color:transparent}button,label.action,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--text);text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--text);outline-offset:4px}.thread-filters{pointer-events:none;position:absolute}.visually-hidden,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.visually-hidden:focus-visible{clip-path:none;width:auto;height:auto;position:static}.skip-link:focus{z-index:20;background:var(--bg);padding:12px;display:block;position:fixed;top:12px;left:12px}.app{isolation:isolate;background:var(--panel) var(--cloth) repeat top left / var(--cloth-size);flex-direction:column;width:100%;height:100dvh;margin:auto;display:flex;position:relative;overflow:hidden}#main-content{scrollbar-color:#aa8341 #18251b;scrollbar-width:thin;overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;overflow:hidden auto}.tapestry-edge{height:var(--tapestry-band-height);background:url(/art/tapestry-band.jpg) top/100%;flex-shrink:0}.head{border-bottom:1px dashed #a5824259;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 22px;display:flex}.brand{letter-spacing:-.045em;align-items:center;gap:.3em;font:600 25px/1.2 Georgia,serif;text-decoration:none;display:inline-flex}.brand-icon{filter:drop-shadow(0 1px 1.5px #110f09b3);flex-shrink:0;width:1.55em;height:1.55em}h1,h2,p{overflow-wrap:anywhere}h1{letter-spacing:-.035em;margin:0 0 12px;font:600 37px/1.08 Georgia,serif}h2{margin:0 0 14px;font:400 25px/1.2 Georgia,serif}p{margin:10px 0}.embroidered,.stitched-label{color:var(--text);background-image:var(--satin);-webkit-text-fill-color:transparent;-webkit-text-stroke:.1px #d4b376;filter:url(#soft-thread)drop-shadow(.2px .7px .25px #11140c);background-size:2.8px 2.8px,auto;-webkit-background-clip:text;background-clip:text}.embroidered{filter:url(#satin-edge)drop-shadow(.35px .8px .25px #110f09)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:13px}.subtitle{font:italic 21px/1.4 var(--story-font);margin:8px 0 0}.meta,.song-hint{color:var(--muted);font-size:16px}.text-button{min-height:44px;color:var(--text);text-underline-offset:5px;background:0 0;border:0;padding:7px 2px;-webkit-text-decoration:underline #b48d4a;text-decoration:underline #b48d4a}.text-button:disabled{opacity:.3}.action,.step,.key,.bend-key,.input-frame,.category-card{background-color:var(--bg);background-image:var(--weave);color:var(--text);border:0;border-radius:6px;position:relative}.action:before,.step:before,.key:before,.bend-key:before,.input-frame:before,.category-card:before{content:"";border-radius:inherit;background:var(--cord);-webkit-mask-composite:xor;pointer-events:none;filter:url(#cord-edge);padding:3px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.action,.step{text-align:center;justify-content:center;align-items:center;min-height:48px;padding:10px 20px;display:inline-flex}.action.primary{background-color:var(--rust)}.action:hover:not(:disabled),.step:hover{background-color:#45482d}.action.primary:hover:not(:disabled){background-color:#91492d}.action:active:not(:disabled),.step:active{transform:translateY(1px)}.full{width:100%}.repo-link{white-space:nowrap;flex-shrink:0;gap:7px;min-height:44px;margin-block:-6px;padding:6px 13px 6px 11px;font-size:16px;text-decoration:none}.repo-link .thread-icon{width:18px;height:18px}.repo-long{display:none}@media (width>=480px){.repo-long{display:inline}}.head:has(.repo-link) .brand{white-space:nowrap}@media (width<=399px){.head:has(.repo-link){gap:10px}.head:has(.repo-link) .brand{font-size:22px}.repo-link{gap:6px;padding-inline:9px 11px;font-size:15px}}.field{gap:7px;min-width:0;display:grid}.field label{font-size:19px}.input-frame{width:100%;min-width:0;display:block}.input-frame:before{padding:4px}.input-frame:focus-within:before{filter:url(#cord-edge)brightness(1.2)}.input-frame input,.input-frame select{border-radius:inherit;width:100%;min-width:0;min-height:56px;color:var(--text);caret-color:var(--text);background:0 0;border:0;padding:13px 17px}input::placeholder{color:#c1b18c;opacity:1}.select-frame select{appearance:none;cursor:pointer;padding-right:52px}option{background:var(--bg);color:var(--text)}.select-chevron{pointer-events:none;filter:url(#soft-thread);width:16px;height:10px;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.select-chevron:before,.select-chevron:after{content:"";background:var(--cord);border-radius:1px;width:10px;height:3px;position:absolute;top:3px}.select-chevron:before{left:0;transform:rotate(42deg)}.select-chevron:after{right:0;transform:rotate(-42deg)}.toggle{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.toggle input{appearance:none;background-color:var(--bg);background-image:var(--weave);cursor:pointer;border:0;border-radius:3px;flex:0 0 26px;width:26px;height:26px;margin:0;position:relative;box-shadow:inset 1px 1px 3px #0b130b88}.toggle input:before{content:"";border:2px solid var(--accent);border-image:var(--cord) 1;filter:url(#soft-thread);pointer-events:none;position:absolute;inset:0}.toggle input:checked{background-color:#68562f}.toggle input:checked:after{content:"";background-image:var(--satin);clip-path:polygon(0 42%,21% 27%,43% 55%,82% 0,100% 18%,45% 100%);filter:url(#soft-thread);background-size:2.8px 2.8px,auto;width:14px;height:12px;position:absolute;top:5px;left:6px}.toggle input:disabled{opacity:.4;cursor:not-allowed}summary{min-height:44px;color:var(--muted);align-items:center;gap:10px;padding:8px 0;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";width:1ch;color:var(--accent);-webkit-text-fill-color:var(--accent);flex-shrink:0;font:22px/1 Georgia,serif}details[open]>summary:after{content:"−"}details[open] summary{color:var(--text)}.tapestry-art{top:var(--tapestry-band-height);width:100%;height:min(calc(100% - var(--tapestry-band-height)), calc(100vw * 2 / 3));pointer-events:none;z-index:-1;opacity:.6;position:absolute;left:0;-webkit-mask-image:linear-gradient(#000 0 88%,#0000);mask-image:linear-gradient(#000 0 88%,#0000)}.app:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 110px 18px #050a0673}.tapestry-art img{object-fit:contain;object-position:right top;width:100%;height:100%;display:block}@media (width>=800px){.tapestry-art{height:min(calc(100% - var(--tapestry-band-height)), calc(100vw / 3))}}.catalog-hero{min-height:240px;padding:30px 22px 25px;position:relative}.hero-copy{width:65%;max-width:470px}.catalog-hero h1{font-size:clamp(37px,7.8vw,62px)}.catalog-hero .subtitle{font-size:20px}.catalog-content,.padded-view{padding:22px}.search-field{margin-bottom:23px}.catalog-filters{border-bottom:1px dashed #a2824959;padding-bottom:10px}.catalog-filters>summary{margin-bottom:10px;font-size:19px}.category-selector{border:0;min-width:0;margin:0 0 20px;padding:0}.category-selector legend{margin-bottom:8px;padding:0;font-size:17px}.category-panel .category-grid{padding:12px 2px 4px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.category-card{text-align:left;align-items:center;gap:8px;min-height:48px;padding:8px 10px;display:flex}.category-card:before{opacity:.6;padding:1px}.category-card,.key,.bend-key,.song-seal{box-shadow:var(--slot-recess)}.category-card[aria-pressed=true],.mode-switch [aria-pressed=true],.key.is-active,.key.is-expected,.bend-key.is-active,.bend-key.is-expected,.binding-key[aria-pressed=true]{background-color:#604620;background-image:var(--weave), var(--selected-cloth);box-shadow:var(--slot-raised)}.category-card[aria-pressed=true]:before{opacity:1;padding:3px}.category-card[aria-pressed=true]:after,.mode-switch [aria-pressed=true]:after,.key.is-expected:after,.bend-key.is-expected:after{content:"";pointer-events:none;border:1px dashed #e5c993b3;border-radius:3px;position:absolute;inset:6px}.category-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:17px;line-height:1.2;overflow:hidden}.category-count{flex-shrink:0;margin-left:6px}.count-badge{border:1px solid var(--accent);background-color:var(--rust);background-image:var(--weave);min-width:28px;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 7px;font:15px/1.35 Georgia,serif;display:block;box-shadow:inset 0 1px #f0d6a233}.category-symbol{flex-shrink:0;display:flex}.category-symbol .thread-icon{width:22px;height:24px}@media (width<=380px){.category-card{gap:6px;padding:7px 8px}.category-name{font-size:16px}}.catalog-facets{grid-template-columns:minmax(0,1fr);display:grid}.universe-filter{border:0;min-width:0;margin:0;padding:0}.universe-filter legend{margin-bottom:8px;padding:0;font-size:17px}.universe-toggle{width:fit-content;max-width:100%;min-height:48px;color:var(--text);text-align:left;border:0;padding-right:12px}.universe-toggle:before{opacity:1;filter:url(#cord-edge);padding:2px}.universe-toggle:focus-visible{outline-offset:3px}.universe-toggle .universe-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.universe-chevron{border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);width:9px;height:9px;margin:-4px 4px 0;transition:transform .2s,margin .2s;transform:rotate(45deg)}.universe-toggle[aria-expanded=true] .universe-chevron{margin-top:4px;transform:rotate(-135deg)}.universe-panel{opacity:0;transition:opacity .16s ease-out, transform .16s ease-out, display .16s allow-discrete;display:none;transform:translateY(-6px)}.universe-panel.is-open{opacity:1;display:block;transform:none}@starting-style{.universe-panel.is-open{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.universe-panel{transition:none}}.universe-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 2px 4px;display:grid}.universe-row .universe-chip{white-space:normal;min-width:0}.universe-row .universe-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;line-height:1.15}.universe-chip{background-color:var(--bg);background-image:var(--weave);min-height:44px;box-shadow:var(--slot-recess);cursor:pointer;white-space:nowrap;border-radius:6px;flex:none;align-items:center;gap:7px;padding:6px 8px 6px 10px;display:flex;position:relative}.universe-chip:before{content:"";border-radius:inherit;background:var(--cord);opacity:.6;-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.universe-chip:hover{background-color:#2b3a2b}.universe-chip:has(input:checked){background-color:#604620;background-image:var(--weave), var(--selected-cloth);box-shadow:var(--slot-raised)}.universe-chip:has(input:checked):before{opacity:1;filter:url(#cord-edge);padding:2.5px}.universe-chip:has(input:checked):after{content:"";pointer-events:none;border:1px dashed #e5c993b3;border-radius:3px;position:absolute;inset:5px}.universe-chip:has(input:focus-visible){outline:2px solid var(--text);outline-offset:3px}.universe-icon{display:flex}.universe-icon .thread-icon{width:20px;height:22px}.universe-name{font-size:16px}.universe-chip .count-badge{min-width:24px;padding-inline:5px;font-size:13px}.universe-group{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);grid-column:1/-1;padding:6px 2px 0;font-size:13px}.catalog-count{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:18px;display:flex}.catalog-count p{color:var(--muted);font-size:16px}.catalog-count{padding-bottom:6px;position:relative}.catalog-count:after{content:"";background:var(--thread-rule);pointer-events:none;height:10px;position:absolute;bottom:-5px;left:0;right:0}.song-list{padding-top:4px}.song-row{border-bottom:1px dashed #a2824959;align-items:center;gap:9px;padding:13px 0;display:flex}.song-open{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:13px;min-width:0;min-height:62px;padding:0;display:flex}.song-copy{min-width:0}.song-title{color:var(--text);overflow-wrap:anywhere;font:22px/1.15 Georgia,serif;display:block}.song-open:hover .song-title{text-underline-offset:5px;text-decoration:underline}.song-meta{color:var(--muted);margin-top:4px;font-size:16px;line-height:1.3;display:block}.song-seal{background-color:var(--panel);background-image:var(--weave);border:1px solid #a88342;border-radius:3px 3px 13px 13px;flex:0 0 43px;place-items:center;width:43px;height:50px;display:grid}.empty{color:var(--muted);padding:20px 0}.save-button{background:0 0;border:0;flex-shrink:0;place-items:center;width:38px;min-height:48px;padding:0;display:grid}.save-button .thread-icon{width:30px;height:30px}.save-button:active .thread-icon{translate:0 1px}#save-song{align-items:center;gap:6px;text-decoration:none;display:inline-flex}#save-song span{text-underline-offset:5px;-webkit-text-decoration:underline #b48d4a;text-decoration:underline #b48d4a}#save-song .thread-icon{width:20px;height:20px}#save-song[aria-pressed=true]{color:#e4b270}.back-link{align-items:center;gap:6px;display:inline-flex}.back-link .thread-icon{width:22px;height:22px}.song-index{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.song-row{scroll-margin-top:12px}.letter-rail{margin-top:10px;position:sticky;top:12px}.letter-list{width:36px;height:min(calc(var(--letters,26) * 28px + 12px), calc(100dvh - 240px));background-color:var(--bg);background-image:var(--weave);box-shadow:var(--slot-recess);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;padding:6px 4px;display:flex;position:relative}.letter-list:before{content:"";border-radius:inherit;background:var(--cord);opacity:.6;-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.letter-slot{letter-spacing:0;background:0 0;border:0;border-radius:4px;flex:1 1 0;place-items:center;min-height:0;padding:0;font:600 17px/1 Georgia,serif;display:grid;position:relative}.letter-slot+.letter-slot:before{content:"";border-top:1px dashed #a2824940;position:absolute;top:0;left:30%;right:30%}.letter-slot .stitched-label{opacity:.78}.letter-slot:hover .stitched-label{opacity:1}.letter-slot[aria-current=true]{background-color:#604620;background-image:var(--weave), var(--selected-cloth);box-shadow:var(--slot-raised)}.letter-slot[aria-current=true] .stitched-label{opacity:1}.letter-slot[aria-current=true]:after{content:"";pointer-events:none;border:1px dashed #e5c993b3;border-radius:3px;position:absolute;inset:2px}.letter-bubble{background-color:var(--rust);background-image:var(--weave);color:#f0d6a2;text-shadow:.35px .8px .25px #110f09;opacity:0;pointer-events:none;border-radius:6px;place-items:center;width:60px;height:60px;margin-top:-30px;font:600 32px/1 Georgia,serif;transition:opacity .12s;display:grid;position:absolute;top:0;right:calc(100% + 14px);box-shadow:0 3px 8px #050a0699}.letter-bubble:before{content:"";border-radius:inherit;background:var(--cord);-webkit-mask-composite:xor;filter:url(#cord-edge);padding:2.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.letter-bubble:after{content:"";border:1px dashed #e5c99399;border-radius:3px;position:absolute;inset:6px}.letter-rail.is-scrubbing .letter-bubble{opacity:1}@media (forced-colors:active){.letter-slot[aria-current=true]{outline:2px solid canvastext}}.catalog-aside{display:none}.menu-footer{flex-shrink:0;position:relative}.menu-ornament{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.55;z-index:-1;width:min(84%,640px);height:auto;display:block;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.app-nav{z-index:10;padding:8px 14px max(8px, env(safe-area-inset-bottom));background:var(--bg) var(--cloth) repeat top left / var(--cloth-size);border-top:1px solid #a2824980;flex-shrink:0;justify-content:center;gap:6px;display:flex;position:relative}.app-nav a{text-align:center;max-width:240px;min-height:44px;color:var(--muted);border-radius:6px;flex:1;justify-content:center;align-items:center;gap:7px;padding:8px 3px;text-decoration:none;display:flex;position:relative}.app-nav .thread-icon{opacity:.75;width:20px;height:20px}.app-nav a span:last-child{white-space:nowrap}@media (width<=380px){.app-nav{gap:4px;padding-inline:8px}.app-nav a{gap:5px;font-size:16px}.app-nav .thread-icon{width:18px;height:18px}}.app-nav a[aria-current=page]{color:var(--text);background-color:#604620;background-image:var(--weave), var(--selected-cloth);box-shadow:var(--slot-raised)}.app-nav a[aria-current=page]:before{content:"";border-radius:inherit;background:var(--cord);-webkit-mask-composite:xor;pointer-events:none;filter:url(#cord-edge);padding:2.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.app-nav a[aria-current=page]:after{content:"";pointer-events:none;border:1px dashed #e5c993b3;border-radius:3px;position:absolute;inset:5px}.app-nav a:not([aria-current=page]):hover{color:var(--text);background-color:#101a1266}.app-nav a[aria-current=page] .thread-icon{opacity:1}.lesson-view{padding:10px 18px 24px}.lesson-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.lesson-actions{align-items:center;gap:28px;display:flex}#share-song{align-items:center;gap:6px;text-decoration:none;display:inline-flex}#share-song .share-label{text-underline-offset:5px;-webkit-text-decoration:underline #b48d4a;text-decoration:underline #b48d4a}#share-song .thread-icon{width:18px;height:18px}.lesson-heading h1{margin:3px 0 5px;font-size:29px}.lesson-heading .eyebrow{font-size:12px}.lesson-heading .subtitle{margin:0;font-size:17px}.mode-switch{gap:10px;margin:16px 0 10px;display:flex}.mode-switch .action{flex:1;min-height:44px;padding:8px 12px}.passage-controls{justify-content:space-between;align-items:center;gap:10px;display:flex}.passage-controls>button{min-width:44px}.passage-arrow{gap:8px;min-height:48px;padding:9px 12px}@media (width<=450px){.passage-arrow .stitched-label{display:none}.action.passage-arrow,.action.passage-arrow:hover:not(:disabled){background:0 0;min-width:44px;padding:0}.action.passage-arrow:before{display:none}.passage-arrow .thread-icon{border-radius:5px;width:38px;height:38px}.passage-arrow:disabled .thread-icon{opacity:.45}}.passage-field{align-items:center;gap:8px;display:flex}.passage-field label{font-size:16px}.passage-field .input-frame{width:112px}.passage-field select{min-height:44px;padding:8px 38px 8px 12px;font-size:15px}.passage-field .select-chevron{right:15px}.tab{--staff-shift:0px;background:#16251b88;border-block:1px dashed #a2824980;height:216px;margin:18px 0;position:relative;box-shadow:inset 0 5px 18px #101b1644}.tab:before{content:"";top:calc(30px - var(--staff-shift));background:repeating-linear-gradient(0deg,#c1a36a99 0 1px,#4f492c66 1px 2px,#0000 2px 18px);height:90px;position:absolute;left:30px;right:18px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 12px),#0000)}.staff-clef{left:1px;top:calc(56px - var(--staff-shift));pointer-events:none;position:absolute}.staff-clef img{filter:drop-shadow(0 1px 1.5px #110f09b3);width:32px;height:32px;display:block}.note-order{font:12px var(--story-font);color:var(--muted);position:absolute;top:45px}.tab:not(.has-modifiers){height:164px}.tab .empty{text-align:center;color:var(--muted);margin:0;padding:0;font-size:15px;position:absolute;bottom:12px;left:30px;right:18px}.tok{left:var(--staff-x);top:calc(var(--staff-y) - var(--staff-shift));background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;min-width:44px;height:48px;padding:2px;transition:background-color .16s ease-out,opacity .2s ease-out;display:flex;position:absolute;transform:translate(-50%)}.tok>.control-icon{transition:translate .16s ease-out}.tok:before,.tok:after{content:"";pointer-events:none;opacity:0;border-radius:50%;position:absolute}.tok:before{background:var(--cord);filter:url(#cord-edge);-webkit-mask-composite:xor;padding:3px;transition:opacity .16s ease-out,scale .22s cubic-bezier(.22,.72,.18,1);inset:-4px;scale:1.22;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tok:after{background:conic-gradient(var(--text) calc(var(--note-progress) * 1turn), transparent 0);filter:url(#soft-thread);-webkit-mask:repeating-conic-gradient(#000 0 9deg, transparent 9deg 14deg), linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:source-in, xor;-webkit-mask:repeating-conic-gradient(#000 0 9deg, transparent 9deg 14deg), linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:repeating-conic-gradient(#000 0 9deg, transparent 9deg 14deg), linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);padding:2px;inset:-10px;-webkit-mask-composite:source-in,xor;mask-composite:intersect,exclude}@property --note-progress{syntax:"<number>";inherits:false;initial-value:1}@keyframes note-thread{0%{--note-progress:0}to{--note-progress:1}}.tok.is-playing,.tok.is-expected{background-color:#6f562c;background-image:var(--weave)}.tok.is-playing:before,.tok.is-expected:before{opacity:1;scale:1}.tok.is-playing:after{opacity:.9;animation:note-thread var(--note-ms,.4s) linear both}.tok.is-playing>.control-icon{translate:0 -2px}.tok.is-played,.tok.is-past{opacity:.55}.tok-leaving{pointer-events:none}.tok .staff-modifier{top:calc(152px - var(--staff-y));border-radius:6px;padding:2px 4px;transition:background-color .16s ease-out,box-shadow .16s ease-out,translate .16s ease-out;position:absolute;left:50%;transform:translate(-50%)}.tok.is-expected .staff-modifier,.tok.is-playing .staff-modifier{background-color:#604620;background-image:var(--weave), var(--selected-cloth);box-shadow:var(--slot-raised), 0 0 0 2px #b48a3d;translate:0 -2px}.tok.is-expected .staff-modifier:after,.tok.is-playing .staff-modifier:after{content:"";pointer-events:none;border:1px dashed #e5c993b3;border-radius:3px;position:absolute;inset:3px}.tok .control-icon--button{width:38px;height:42px}.tok .control-icon--shoulder{width:44px;height:28px}.tok .control-icon--modifier{width:36px;height:48px}.control-icon{pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0;display:block}.control-icon--button{width:40px;height:44px}.control-icon--shoulder{width:48px;height:28px}.control-icon--modifier{width:35px;height:46px}.control-icon--plus{width:20px;height:20px}.note-instruction{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.progress-heading{justify-content:space-between;gap:14px;margin-bottom:10px;font-size:16px;display:flex}.progress-track{background:#152016;border:1px solid #98763a99;border-radius:3px;padding:4px;position:relative}.progress-track:after{content:"";left:clamp(4px, var(--progress-position,0%), calc(100% - 13px));background:var(--satin);border:1px solid var(--accent);pointer-events:none;background-size:2.8px 2.8px,auto;width:10px;height:10px;position:absolute;top:4px;transform:rotate(45deg)}progress{appearance:none;background:#81744933;border:0;width:100%;height:9px;display:block}progress::-webkit-progress-bar{background:#81744944}progress::-webkit-progress-value{background:var(--cord)}progress::-moz-progress-bar{background:var(--cord)}#progress-label{margin:5px 0 0;font-size:14px}.practice-status{min-height:27px;margin:6px 0 10px;font-size:18px}.practice-line{align-items:center;gap:10px;display:flex;position:relative}.practice-line .practice-status{flex:auto;min-width:0}.combo-badge{background-color:#604620;background-image:var(--weave), var(--selected-cloth);box-shadow:var(--slot-raised);border-radius:6px;flex:none;align-items:baseline;gap:5px;margin:0;padding:4px 11px 5px;line-height:1.1;display:flex;position:relative}.combo-badge:before{content:"";border-radius:inherit;background:var(--cord);-webkit-mask-composite:xor;pointer-events:none;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.combo-count{font-variant-numeric:tabular-nums;font:600 22px/1 Georgia,serif}.combo-label{color:var(--muted);font-size:14px}.combo-badge[data-tier="2"],.combo-badge[data-tier="3"],.combo-badge[data-tier="4"],.combo-badge[data-tier="5"]{background-color:var(--rust);background-image:var(--weave), linear-gradient(180deg, #8a4129, #62291a)}.combo-badge[data-tier="3"]:after,.combo-badge[data-tier="4"]:after,.combo-badge[data-tier="5"]:after{content:"";pointer-events:none;border:1px dashed #e5c993b3;border-radius:3px;position:absolute;inset:4px}.combo-badge[data-tier="4"] .combo-count,.combo-badge[data-tier="5"] .combo-count{font-size:25px}.combo-badge[data-tier="5"]:before{padding:3px}.combo-badge.is-bumped{animation:.3s cubic-bezier(.3,1.6,.5,1) combo-bump}.combo-badge.is-broken{animation:.45s ease-in forwards combo-break}@keyframes combo-bump{40%{scale:1.2}}@keyframes combo-break{25%{translate:-4px;rotate:-4deg}55%{opacity:1;translate:4px 1px;rotate:3deg}to{opacity:0;translate:0 10px;rotate:8deg}}.staff-fx{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.hit-burst{left:var(--x);top:var(--y);position:absolute}.hit-burst:before{content:"";border:2px dashed var(--text);border-radius:50%;width:48px;height:48px;animation:.5s ease-out forwards burst-ring;position:absolute;top:-24px;left:-24px}.hit-burst i{background:var(--satin), var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background-size:2.8px 2.8px,auto,auto;width:10px;height:10px;animation:.62s cubic-bezier(.15,.75,.3,1) forwards burst-spark;position:absolute;top:-5px;left:-5px}.hit-burst[data-tier="2"] i:nth-child(3n),.hit-burst[data-tier="3"] i:nth-child(odd),.hit-burst[data-tier="4"] i:nth-child(odd),.hit-burst[data-tier="5"] i:nth-child(odd){background:#b0553a}@keyframes burst-ring{0%{opacity:.95;scale:.55}to{opacity:0;scale:1.45}}@keyframes burst-spark{0%{transform:rotate(var(--a)) translateY(-8px) scale(.5);opacity:1}70%{opacity:1}to{transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(1) rotate(90deg);opacity:0}}.combo-ribbon{z-index:1;white-space:nowrap;background-color:var(--rust);background-image:var(--weave), linear-gradient(180deg, #8a4129, #62291a);border-block:2px solid #b48a3d;border-image:var(--cord) 1;box-shadow:var(--slot-raised);pointer-events:none;justify-content:center;align-items:center;gap:10px;padding:0 16px;animation:1.25s cubic-bezier(.22,.72,.18,1) forwards ribbon-unroll;display:flex;position:absolute;inset:0;overflow:hidden}.combo-ribbon:after{content:"";pointer-events:none;border-block:1px dashed #e5c993b3;position:absolute;inset:3px 6px}.combo-ribbon.is-passage{background-color:#604620;background-image:var(--weave), var(--selected-cloth)}.combo-ribbon.is-song{animation-duration:2.2s}.ribbon-title{font:600 23px/1 Georgia,serif}.ribbon-detail{font-size:15px}@keyframes ribbon-unroll{0%{clip-path:inset(0 50%)}22%,80%{clip-path:inset(0);opacity:1}to{clip-path:inset(0);opacity:0}}.key-ripple{border:2px dashed var(--text);pointer-events:none;border-radius:8px;animation:.45s ease-out forwards key-ripple;position:absolute;inset:-1px}@keyframes key-ripple{0%{opacity:.95;scale:.96}to{opacity:0;scale:1.24}}.key.is-miss{animation:.32s ease-in-out key-miss}@keyframes key-miss{20%{translate:-4px}45%{translate:4px}70%{translate:-2px}}.progress-track.is-hit:after{animation:.32s cubic-bezier(.3,1.6,.5,1) progress-hit}@keyframes progress-hit{40%{scale:1.7}}.playback-controls{align-items:center;gap:9px;display:flex}.playback-controls .primary{flex:1}.playback-controls .action{min-height:46px;padding:8px 14px}.rate-field{flex-shrink:0;width:104px}.rate-field select{min-height:46px;padding:8px 29px 8px 36px;font-size:16px}.rate-icon{pointer-events:none;position:absolute;top:50%;left:10px;translate:0 -50%}.rate-icon .thread-icon{width:21px;height:21px}.rate-field .select-chevron{width:12px;right:11px}.rate-field .select-chevron:before,.rate-field .select-chevron:after{width:8px}.lesson-options{margin:4px 0;font-size:16px}.controller-panel{background:#18251ba6;border-top:1px dashed #a2824959;padding-top:14px}.controller-panel h2{margin:0 0 10px;font-size:21px}.pad{touch-action:none;flex-direction:column;align-items:center;gap:8px;display:flex}.shoulders{grid-template-columns:repeat(2,76px);gap:14px;display:grid}.diamond{grid-template-rows:repeat(2,58px);grid-template-columns:repeat(3,72px);gap:8px;display:grid}.key{touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;min-height:52px;padding:3px;display:flex}.key:before,.bend-key:before{padding:1.5px}.key.is-active,.bend-key.is-active{filter:brightness(1.12)}.key-ref{font:16px/1.2 var(--story-font);color:var(--text);text-shadow:.3px .7px #0d180d;padding:2px 5px;display:block}.ghost{color:#bba67166;border:1px dashed #a2824933;border-radius:5px;justify-content:center;align-items:center;display:flex}.bends{touch-action:none;justify-content:center;gap:10px;margin-top:12px;display:flex}.bend-key{touch-action:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;min-width:53px;min-height:64px;padding:4px;display:flex}.hint{text-align:center;color:var(--muted);margin:9px 0 2px;font-size:14px}.keyboard-settings{border-top:1px dashed #a2824980;margin-top:22px;font-size:16px}.keyboard-settings summary:after{margin-left:auto}.keyboard-bindings{gap:8px;display:grid}.binding-row{border-bottom:1px dashed #a2824933;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.binding-control{align-items:center;gap:12px;display:flex}.binding-control .control-icon{width:28px;height:30px}.binding-key{min-width:64px;min-height:44px;padding:6px 12px}.binding-key kbd{font:inherit}.binding-key[aria-pressed=true]{outline:2px solid var(--text);outline-offset:3px}.thread-icon{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;flex-shrink:0;width:24px;height:24px;display:block}.inline-icon{vertical-align:-.25em;width:1.25em;height:1.25em;display:inline-block}.action{gap:9px}#lesson-universe{align-items:center;gap:10px;display:flex}#lesson-universe .thread-icon{width:20px;height:22px}.song-seal .thread-icon{clip-path:inset(11% round 2px);width:31px;height:31px}.mini-seal .thread-icon{width:20px;height:20px}.universe-toggle .mini-seal .thread-icon{width:17px;height:17px}.song-seal{position:relative}.seal-frame{pointer-events:none;background:50%/100% 100% no-repeat;position:absolute;inset:-24% -28%}[data-difficulty=easy]>.seal-frame{background-image:url(/art/difficulty/easy.webp)}[data-difficulty=medium]>.seal-frame{background-image:url(/art/difficulty/medium.webp)}[data-difficulty=hard]>.seal-frame{background-image:url(/art/difficulty/hard.webp)}[data-difficulty=expert]>.seal-frame{background-image:url(/art/difficulty/expert.webp)}.song-open{gap:17px;padding-left:6px}.difficulty-filter{border:0;min-width:0;margin:18px 0 0;padding:0}.difficulty-filter legend{margin-bottom:8px;padding:0;font-size:17px}.difficulty-scale{max-width:520px;padding:12px 2px 4px}.universe-toggle .mini-seal{border-radius:2px 2px 7px 7px;flex:0 0 22px;width:22px;height:26px}.universe-toggle .mini-seal .seal-frame{inset:-22% -26%}.difficulty-scale input[type=range]{width:calc(80% + 23px);margin:0 calc(10% - 11.5px);display:block}.difficulty-steps{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:6px;display:grid}.difficulty-step{cursor:pointer;opacity:.62;justify-items:center;gap:12px;padding:10px 0 4px;transition:opacity .15s;display:grid}.difficulty-step:hover,.difficulty-step.is-current{opacity:1}.difficulty-step .song-seal.mini-seal{border-radius:2px 2px 8px 8px;flex-basis:27px;width:27px;height:31px}.difficulty-step.is-current .mini-seal{border-color:var(--text);box-shadow:var(--slot-raised);background-color:#604620;background-image:var(--weave), var(--selected-cloth)}.difficulty-name{white-space:nowrap;font-size:15px;line-height:1.1}.difficulty-step.is-current .difficulty-name{text-underline-offset:4px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:1px}@media (forced-colors:active){.seal-frame{display:none}.difficulty-step.is-current .mini-seal{outline:2px solid highlight}}#main-content::-webkit-scrollbar{width:12px}#main-content::-webkit-scrollbar-track{background:#18251b;border-left:1px dashed #94733c66}#main-content::-webkit-scrollbar-thumb{background:var(--cord);border:3px solid #18251b;border-radius:6px}#main-content::-webkit-scrollbar-thumb:hover{background:#c19845}@media (forced-colors:active){#main-content{scrollbar-color:auto}}@media (width<=799px){.lesson-heading h1{font-size:27px}.lesson-view{padding-top:4px}.lesson-layout{flex-direction:column;display:flex}.score-panel{display:contents}.score-panel>*{order:0}.score-panel>.lesson-options{order:2}.key-ref,.desktop-only{display:none!important}.app.is-lesson .head{display:none}.lesson-view{flex-wrap:wrap;align-items:center;column-gap:8px;padding:2px 16px 12px;display:flex}.lesson-top,.lesson-heading,.lesson-view .lesson-layout,.score-panel{display:contents}.lesson-view .tab,#song-progress,.practice-line,.playback-controls,.lesson-options,.controller-panel{flex:100%;min-width:0}.combo-badge{padding:2px 9px 3px}.combo-count{font-size:19px}.combo-label{font-size:13px}.ribbon-title{font-size:19px}.ribbon-detail{font-size:14px}.lesson-view:before{content:"";flex:0 0 100%;order:-1;height:0}.back-link{flex:none;order:-4;min-width:44px;font-size:22px;text-decoration:none}.back-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lesson-actions{display:contents}#save-song,#share-song{flex:none;order:-2;font-size:16px}#share-song{margin-inline-end:12px}.lesson-heading h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1 1 0;order:-3;min-width:0;margin:0;font-size:21px;line-height:1.15;display:-webkit-box;overflow:hidden}.lesson-heading .eyebrow,.lesson-heading .subtitle{display:none!important}.mode-switch{flex:150px;gap:6px;margin:4px 0}.mode-switch .action{min-height:44px;padding:6px 8px;font-size:16px}.passage-controls{flex:1 0 auto;gap:6px;margin:4px 0}.passage-arrow{min-height:44px;padding:6px 10px}.passage-field label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.passage-field .input-frame{width:auto}.passage-field select{width:auto;min-height:44px;padding-right:34px}.tab{--staff-shift:18px;height:190px;margin:6px 0 4px}.tab:not(.has-modifiers){height:146px}.progress-heading,#progress-label{display:none}.progress-track{margin-top:4px}.practice-status{min-height:22px;margin:4px 0;font-size:16px;line-height:1.35}.playback-controls .action,.rate-field select{min-height:44px}.controller-panel{order:1;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:14px;margin:6px -16px 0;padding:8px 16px 4px;display:grid}.controller-panel h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.controller-panel .hint{grid-column:1/-1;margin:6px 0 0;font-size:13px}.app.has-song .controller-panel .hint{display:none}.key{min-height:48px}.diamond{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,clamp(56px,16.5vw,72px));gap:6px}.shoulders{grid-template-columns:repeat(2,clamp(60px,18vw,76px));gap:12px}.bends{grid-template-columns:repeat(2,48px);gap:8px;margin:0;display:grid}.bend-key{min-width:48px;min-height:62px}}.padded-view h1{font-size:34px}.section-art{margin:-22px -22px 20px;padding:25px 22px 35px;position:relative}.section-art h1,.section-art .subtitle{max-width:70%}.notice{border-left:2px solid var(--accent);color:var(--muted);background:#17251b55;padding:12px 16px}.workshop-steps{grid-template-columns:minmax(0,1fr);gap:0;max-width:1100px;margin:0;padding:0;list-style:none;display:grid}.workshop-step{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;padding:20px 0 24px;display:grid;position:relative}.workshop-step:before{content:"";background:var(--thread-rule);pointer-events:none;height:10px;position:absolute;top:-5px;left:0;right:0}.workshop-step:first-child{padding-top:4px}.workshop-step:first-child:before{display:none}.workshop-step-title{align-items:center;gap:12px;margin:0;font-size:23px;display:flex}.step-number{border:2px solid var(--accent);background-color:var(--bg);background-image:var(--weave);width:34px;height:34px;color:var(--text);border-radius:50%;flex:0 0 34px;place-items:center;font:600 17px/1 Georgia,serif;display:grid}.workshop-step p{margin:0}.workshop-step-fragment:has(.audio-editor:not([hidden])) .step-placeholder{display:none}.step-placeholder{text-align:center;border:1px dashed #a2824966;border-radius:6px;padding:18px 16px}.analysis-controls{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.analysis-controls .field{flex:260px;max-width:360px}.analyze-button{min-height:56px;padding-inline:24px}.analysis-progress{background:#16251b99;border-radius:6px;align-items:center;gap:14px;min-height:56px;padding:10px 14px;display:flex}.analysis-progress[hidden],.analysis-progress:not([hidden])+#workshop-status{display:none}.analysis-progress-copy{flex:1;min-width:0}.analysis-progress-label{font-size:18px}#analysis-elapsed{font-variant-numeric:tabular-nums}.thread-spinner{border-radius:50%;flex:0 0 34px;width:34px;height:34px;position:relative}.thread-spinner:before,.thread-spinner:after{content:"";border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}.thread-spinner:before{background:var(--cord);opacity:.5;filter:url(#cord-edge)}.thread-spinner:after{background:conic-gradient(var(--text) 0 25%, transparent 25% 100%);animation:1.1s linear infinite thread-spin}@keyframes thread-spin{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.thread-spinner:after{background:conic-gradient(var(--text) 0 100%);opacity:.6;animation:none}}.workshop-actions:not(:has(button:not(:disabled))){display:none}.file-picker{flex-wrap:wrap;align-items:center;gap:16px;min-width:0;display:flex}.file-picker .action{min-height:56px}.file-name{overflow-wrap:anywhere;color:var(--muted);font-size:16px}.padded-view>p{max-width:68ch}.workshop-actions{flex-wrap:wrap;gap:12px;margin:0;display:flex}.step{min-width:44px;min-height:44px;padding:8px}input[type=range]{appearance:none;cursor:pointer;background:0 0;height:40px}input[type=range]::-webkit-slider-runnable-track{background:var(--cord);border-radius:2px;height:5px}input[type=range]::-moz-range-track{background:var(--cord);border-radius:2px;height:5px}input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid #b48a3d;border-image:var(--cord) 1;background-image:var(--satin);background-size:2.8px 2.8px,auto;width:23px;height:23px;margin-top:-9px;transform:rotate(45deg);box-shadow:1px 1px 1px #10180e99}input[type=range]::-moz-range-thumb{border:3px solid #b48a3d;border-image:var(--cord) 1;background-image:var(--satin);background-size:2.8px 2.8px,auto;border-radius:0;width:17px;height:17px;transform:rotate(45deg)}@media (width>=800px){.head{padding:12px 36px}.brand{font-size:30px}.catalog-hero{min-height:280px;padding:36px 38px}.catalog-hero .subtitle{font-size:25px}.catalog-content,.padded-view{padding:28px 38px}.search-field{max-width:640px}.catalog-filters>summary{width:fit-content}.universe-row{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.universe-row .universe-name{font-size:16px}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-card{gap:7px;padding:10px}.category-name{font-size:17px}.category-selector{margin-bottom:24px}.catalog-layout{grid-template-columns:minmax(0,2fr) minmax(210px,.85fr);gap:32px;display:grid}.catalog-aside{border-left:1px dashed #a2824959;min-height:430px;margin-top:66px;padding:24px 18px;display:block;position:relative;overflow:hidden}.catalog-aside h2{font-size:31px}.catalog-aside p{color:var(--muted);font-size:18px}.lesson-view{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);align-content:start;column-gap:32px;padding:20px 34px 32px;display:grid}.lesson-top,.lesson-layout{grid-column:1/-1}.lesson-heading h1{font-size:32px}.lesson-heading .subtitle{font-size:17px}.lesson-heading{margin-bottom:12px}.mode-switch{place-self:end;width:min(100%,320px);margin:0 0 12px}.lesson-layout{grid-template-columns:subgrid;display:grid}.lesson-options{max-width:520px}.controller-panel{background:#18251ba6;border-top:0;border-left:1px dashed #a2824959;padding:12px 0 0 26px}.app-nav{padding:14px 24px}.section-art{margin:-28px -38px 24px;padding:34px 38px 44px}}@media (width>=1400px){.category-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width>=1100px){.song-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;display:grid}.song-list .empty{grid-column:1/-1}}@media (width<=350px){.catalog-content,.padded-view{padding:18px 15px}.head{padding:10px 15px}.brand{font-size:22px}.catalog-hero{min-height:250px;padding:25px 15px}.catalog-hero h1{font-size:36px}.catalog-hero .subtitle{font-size:18px}.category-name{font-size:15px}.category-card{gap:5px;padding:7px 6px}.category-count{margin-left:2px}.count-badge{min-width:24px;padding-inline:5px;font-size:14px}.song-title{font-size:20px}.song-open{gap:14px;padding-left:5px}.song-seal{flex-basis:35px;width:35px;height:43px}.song-meta{font-size:15px}.lesson-view{padding-inline:13px}.diamond{grid-template-columns:repeat(3,65px)}.bends{gap:8px}.bend-key{min-width:48px}.playback-controls{gap:6px}.playback-controls .action{padding-inline:11px}.rate-field{width:96px}.rate-field select{padding-left:32px}.rate-icon{left:8px}.section-art{margin:-18px -15px 18px}}@media (width<=799px){.has-query .catalog-hero{display:none}.catalog-hero{min-height:0;padding-bottom:4px}}@media (width<=380px){.mode-switch{flex-basis:120px;gap:4px}.mode-switch .action{padding:4px;font-size:15px}.passage-controls{gap:4px}.passage-arrow{padding:6px}.passage-field select{padding-left:9px;padding-right:30px;font-size:14px}.passage-field .select-chevron{right:11px}}@media (width<=799px) and (height<=700px){.key{min-height:46px}.diamond{grid-template-rows:repeat(2,46px)}.bend-key{min-height:56px}.practice-status{margin-block:2px}.controller-panel{padding-top:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.combo-badge,.key.is-miss,.progress-track:after{animation:none!important}.combo-ribbon{animation:1.25s linear forwards ribbon-fade}}@keyframes ribbon-fade{0%,80%{opacity:1}to{opacity:0}}@media (forced-colors:active){.embroidered,.stitched-label{-webkit-text-fill-color:currentColor;filter:none;background:0 0}.category-card,.action,.step,.key,.bend-key,.input-frame{border:1px solid buttontext}.toggle input,.select-frame select{appearance:auto}.toggle input:before,.toggle input:after,.select-chevron{display:none}.tok.is-playing,.tok.is-expected,.tok.is-expected .staff-modifier,.tok.is-playing .staff-modifier,.combo-badge,.combo-ribbon{outline:2px solid highlight}.hit-burst,.key-ripple,.tok:before,.tok:after{display:none}.universe-chip{border:1px solid buttontext}.universe-chip:has(input:checked){outline-offset:-3px;outline:3px solid highlight}.category-card[aria-pressed=true],.mode-switch [aria-pressed=true],.key.is-expected,.key.is-active,.bend-key.is-active,.bend-key.is-expected,.app-nav a[aria-current=page]{outline-offset:-3px;outline:3px solid highlight}.app:after{display:none}}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.embroidered,.stitched-label{-webkit-text-fill-color:currentColor;filter:none;background:0 0}}.patch-button{background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.patch-button .thread-icon{border-radius:5px;width:38px;height:38px}.patch-button:hover:not(:disabled) .thread-icon{filter:brightness(1.12)}.patch-button:active:not(:disabled) .thread-icon{translate:0 1px}.quick-play{width:38px;min-height:48px}.quick-play .thread-icon{width:30px;height:30px}.quick-play[data-state=playing] .thread-icon,.quick-play[data-state=paused] .thread-icon{box-shadow:0 0 0 2px #604620,0 0 0 3.5px #c19845}.song-row .quick-play{margin-right:-9px}.mini-player{z-index:10;background:var(--bg) var(--cloth) repeat top left / var(--cloth-size);box-shadow:var(--slot-raised), 0 6px 16px #050a0699;border-radius:6px;gap:2px;padding:8px 12px 6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:10px;right:10px}.mini-player:before{content:"";border-radius:inherit;background:var(--cord);-webkit-mask-composite:xor;pointer-events:none;filter:url(#cord-edge);padding:2.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}#main-content:after{content:"";height:var(--mini-player-space,0px);display:block}.mini-head{align-items:center;gap:6px;min-width:0;display:flex}.mini-toggle .thread-icon{width:42px;height:42px}.mini-open{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;min-width:0;min-height:44px;margin-left:4px;padding:0;display:flex}.mini-title,.mini-meta{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.mini-title{color:var(--text);font:19px/1.2 Georgia,serif}.mini-meta{color:var(--muted);font-size:14px;line-height:1.3}.mini-expand{flex-shrink:0;gap:6px;min-height:44px;padding:3px 4px 3px 14px}.mini-expand .thread-icon{border-radius:4px;width:34px;height:34px}.mini-open:hover .mini-title{text-underline-offset:4px;text-decoration:underline}.mini-staff{min-width:0;overflow:hidden}.mini-staff .tab{zoom:.72;height:192px;margin:0}.mini-staff .tab:not(.has-modifiers){height:130px}@media (width>=800px){.mini-player{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:center;column-gap:24px;max-width:1040px;margin-inline:auto;padding:6px 20px;left:24px;right:24px}.mini-staff .tab{zoom:.7;height:210px}.mini-staff .tab:not(.has-modifiers){height:150px}}@media (forced-colors:active){.mini-player{border:2px solid canvastext}.mini-player:before{display:none}.quick-play[data-state=playing],.quick-play[data-state=paused]{outline:2px solid highlight}}.thread-icon{forced-color-adjust:none}.mini-player.is-leaving{pointer-events:none}.audio-editor{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;display:grid}.audio-editor[hidden]{display:none}.audio-editor p{margin:0}.audio-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.audio-editor-file{overflow-wrap:anywhere;min-width:0;font-size:17px}.audio-editor-duration{color:var(--muted);white-space:nowrap;font-size:15px}.audio-editor-zoom{align-items:center;gap:8px;width:min(100%,240px);display:flex}.audio-editor-zoom input{flex:1;min-width:0}.audio-editor-zoom .step{min-width:40px;min-height:40px;padding:4px;font-size:20px;line-height:1}.audio-editor-wave-frame{background:#16251b99;border-radius:6px;min-width:0;padding:10px 10px 4px;position:relative;box-shadow:inset 0 4px 14px #101b1644}.audio-editor-wave-frame:before{content:"";border-radius:inherit;background:var(--cord);-webkit-mask-composite:xor;pointer-events:none;filter:url(#cord-edge);padding:3px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.audio-editor-wave{min-width:0;overflow:hidden}.audio-editor-wave ::part(region){border-block:2px solid var(--accent)}.audio-editor-wave ::part(region-handle){touch-action:none;border:0!important;width:24px!important}.audio-editor-wave ::part(region-handle-left){background:linear-gradient(90deg, transparent 10px, var(--text) 10px 14px, transparent 14px);left:-12px!important}.audio-editor-wave ::part(region-handle-right){background:linear-gradient(90deg, transparent 10px, var(--text) 10px 14px, transparent 14px);right:-12px!important}.audio-editor-wave ::part(timeline){opacity:.85}.audio-editor-wave ::part(timeline-notch){border-color:#c19845aa}.audio-editor-hint{color:var(--muted);font-size:15px}.audio-editor-selection{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.audio-editor-bounds{display:contents}.audio-editor-bounds .field label{font-size:16px}.audio-editor-bounds input{font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;min-height:48px;padding:8px 14px}.audio-editor-length{grid-column:1/-1;gap:6px;display:grid}.audio-editor-summary{font-variant-numeric:tabular-nums;font-size:16px}.audio-editor-meter{background:#81744944;border-radius:3px;height:6px;overflow:hidden}.audio-editor-meter span{background:var(--cord);height:100%;display:block}.audio-editor-preview{grid-column:1/-1}.audio-editor-preview-icon .thread-icon{width:20px;height:20px}.audio-editor-status{min-height:1.4em;color:var(--muted);font-size:15px}.audio-editor.is-busy .audio-editor-wave-frame{opacity:.6}@media (width>=800px){.audio-editor-selection{grid-template-columns:150px 150px minmax(200px,1fr) auto;gap:16px}.audio-editor-length,.audio-editor-preview{grid-column:auto}.audio-editor-length{align-self:center;padding-top:24px}}
