@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;container-type:size}.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}.head-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.settings-link{min-width:44px;min-height:44px;margin-block:-6px;padding:6px 10px}.settings-link .thread-icon{width:22px;height:22px}.settings-link[aria-current=page]{background-color:#604620;background-image:var(--weave), var(--selected-cloth);box-shadow:var(--slot-raised)}@media (width<=399px){.head-actions{gap:8px}.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)}.retro-art{display:none}.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;padding:0}.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}}.filter-grid{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px 14px;display:grid}.filter-grid>fieldset,.catalog-facets,.catalog-facets>fieldset{display:contents}.filter-grid legend{grid-column:1;margin:0;padding:0;font-size:16px}.filter-grid .universe-toggle{grid-column:2;justify-self:start}.filter-grid .universe-panel{grid-column:1/-1}@media (width<=350px){.filter-grid{column-gap:8px}.filter-grid legend{font-size:15px}.filter-grid .universe-toggle{padding-left:8px;padding-right:8px}}.universe-filter{border:0;min-width:0;margin:0;padding:0}.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-done{color:var(--accent)}.shelf-title{grid-column:1/-1;margin:22px 0 0}.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(100cqh - max(161px, 24px + var(--mini-player-space,0px))));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-knot{pointer-events:none;border-top:1px dashed #a2824940;flex:none;height:0;margin-inline: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;transition:opacity .3s ease-out;display:block;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.app:has(#catalog-view:not([hidden])) .menu-ornament{opacity:.14}.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<=520px){.app-nav a{flex-direction:column;gap:2px;padding:5px 2px 4px;font-size:14px;line-height:1.2}}@media (width<=380px){.app-nav{gap:4px;padding-inline:8px}}.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}.app-nav .nav-saved{display:none}@media (width>=800px){.app-nav .nav-saved{display:flex}.app-nav .nav-popular{display:none}}.popular-rank{flex:none;align-self:center;min-width:34px;padding-inline:4px}.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,#restart .stitched-label{display:none}.action.passage-arrow,.action.passage-arrow:hover:not(:disabled),#restart,#restart:hover:not(:disabled){background:0 0;min-width:44px;padding:0}.action.passage-arrow:before,#restart:before{display:none}.passage-arrow .thread-icon,#restart .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}@property --progress-ratio{syntax:"<number>";inherits:true;initial-value:0}.progress-track{transition:--progress-ratio .26s cubic-bezier(.3,.7,.2,1)}.progress-track:before{content:"";z-index:1;background:linear-gradient(100deg, #f6e7be00 35%, #f6e7beb3 50%, #f6e7be00 65%) -90px 0 / 90px 100% no-repeat, var(--cord);clip-path:inset(0 calc(100% * (1 - var(--progress-ratio))) 0 0);pointer-events:none;position:absolute;inset:4px}.progress-track:after{content:"";z-index:1;left:clamp(4px, calc(4px + (100% - 8px) * var(--progress-ratio) - 6px), 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-percent{font-variant-numeric:tabular-nums}progress{appearance:none;background:#81744933;border:0;width:100%;height:9px;display:block}progress::-webkit-progress-bar{background:#81744944}progress::-webkit-progress-value{background:0 0}progress::-moz-progress-bar{background:0 0}#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}.status-slot{flex:auto;min-width:0;position:relative}.song-complete{gap:9px;margin:0 0 10px;display:flex}.song-complete .action{min-width:0;min-height:46px;padding:8px 14px}#next-song{flex:1 1 0}.song-complete .stitched-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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{transition:background-color .3s ease-out}.combo-badge.is-entering{animation:.34s cubic-bezier(.3,1.5,.5,1) combo-enter}.combo-badge.is-bumped{animation:.24s cubic-bezier(.3,1.6,.5,1) combo-bump}.combo-badge.is-raised{animation:.5s cubic-bezier(.3,1.4,.5,1) combo-raise}.combo-badge.is-broken{animation:.5s ease-in forwards combo-break}.combo-count.is-rolled{animation:.22s cubic-bezier(.2,.9,.3,1.3) combo-roll}@keyframes combo-enter{0%{opacity:0;rotate:-7deg;scale:.6}55%{opacity:1}}@keyframes combo-bump{40%{scale:1.08}}@keyframes combo-raise{30%{rotate:-5deg;scale:1.34}62%{rotate:1deg;scale:.96}}@keyframes combo-roll{0%{opacity:0;translate:0 60%}45%{opacity:1}}@keyframes combo-break{12%{scale:1.08}28%{filter:saturate(.3);translate:-4px;rotate:-4deg}55%{opacity:1;filter:saturate(.3);translate:4px 1px;rotate:3deg}to{opacity:0;filter:saturate(.3);translate:0 12px;rotate:9deg}}.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:.34s cubic-bezier(.3,1.3,.5,1) needle-stitch}.progress-track.is-swept:before{animation:.7s ease-out thread-sheen}@keyframes needle-stitch{38%{translate:0 -6px;rotate:90deg;scale:1.3}78%{translate:0 1px;rotate:180deg;scale:.9}to{rotate:180deg}}@keyframes thread-sheen{0%{background-position:-90px 0,0 0}to{background-position:calc(100% + 90px) 0,0 0}}.playback-controls{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.repeat-toggle{flex:none;font-size:16px;position:relative}.repeat-toggle [data-thread-icon]{display:none}@media (width<=450px){.repeat-toggle{justify-content:center;gap:0;width:44px}.repeat-toggle [data-thread-icon]{display:block}.repeat-toggle .thread-icon{border-radius:5px;width:38px;height:38px;display:block}.repeat-toggle input{opacity:0;width:100%;height:100%;position:absolute;inset:0}.repeat-toggle .stitched-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.repeat-toggle input:checked+span .thread-icon{box-shadow:0 0 0 2px #604620,0 0 0 3.5px #c19845}.repeat-toggle:has(input:focus-visible){outline:2px solid var(--text);outline-offset:3px;border-radius:6px}}.app:not(.has-song) .repeat-toggle{display:none}.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}.tab-text{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 12px}.tab-text:empty{display:none}.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}.settings-section{border-bottom:1px dashed #a2824959;max-width:760px;font-size:16px}.settings-section:first-of-type{border-top:1px dashed #a2824959;margin-top:8px}.settings-section>summary.settings-heading{min-height:56px;color:var(--text);margin:0;padding:8px 0;font-size:23px}.settings-heading .thread-icon{width:24px;height:24px}.settings-body{padding:2px 0 20px}.settings-body>.meta:first-child{margin-top:0}.settings-section .toggle{margin-top:4px}.settings-rate{max-width:220px;margin-top:10px}.settings-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.keyboard-link{align-items:center;gap:8px;margin-top:14px;display:inline-flex}.keyboard-link .thread-icon{width:20px;height:20px}.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:0;padding:0}.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,.song-complete,.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 .analysis-note{flex:260px;min-width:0;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)}.theme-picker{border:0;min-width:0;margin:0;padding:0}.theme-picker legend{margin-bottom:10px;padding:0;font-size:19px}.theme-picker{grid-template-columns:minmax(0,1fr);gap:12px;max-width:760px;display:grid}.theme-card{white-space:normal;gap:16px;min-height:112px;padding:12px 16px}.theme-card-art{pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0;width:88px;height:88px}.theme-card-copy{gap:4px;min-width:0;display:grid}.theme-card-title{font:600 23px/1.15 Georgia,serif}.theme-card-detail{color:var(--muted);font-size:16px;line-height:1.3}@media (width>=640px){.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=800px){:root{--tapestry-band-height:32px}.tapestry-edge{background:url(/art/tapestry-band-desktop.webp) top/auto 100% repeat-x}.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(auto-fill,minmax(185px,1fr));gap:12px}.category-card{gap:7px;padding:10px}.category-name{font-size:17px}.filter-grid{grid-template-columns:repeat(3,max-content) minmax(0,1fr);align-items:stretch;gap:0 24px;position:relative}.filter-grid legend{grid-row:1;font-size:17px}.filter-grid .universe-toggle{grid-row:2}.category-selector>:not(.universe-panel){grid-column:1}.universe-filter>:not(.universe-panel){grid-column:2}.difficulty-filter>:not(.universe-panel){grid-column:3}.filter-grid .universe-panel{z-index:6;overscroll-behavior:contain;scrollbar-color:#aa8341 #18251b;scrollbar-width:thin;background:var(--panel) var(--cloth) repeat top left / var(--cloth-size);max-height:min(62vh,560px);box-shadow:var(--slot-raised), 0 14px 30px #050a06b3;border:1px solid #a2824980;border-radius:6px;margin-top:8px;padding:2px 14px 12px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.filter-grid .category-panel,.filter-grid #universe-panel{grid-column:1/-1}.filter-grid #difficulty-panel{grid-column:3/-1;width:max-content;left:0;right:auto}.filter-grid legend{margin-bottom:8px;line-height:24px}.catalog-filters>summary{display:none}.catalog-layout{grid-template-columns:minmax(0,2fr) minmax(210px,.85fr);gap:32px;display:grid}.catalog-aside{max-height:calc(100cqh - 32px - var(--mini-player-space,0px));scrollbar-width:thin;scrollbar-color:#aa8341 transparent;background:#18251ba6;border-left:1px dashed #a2824959;flex-direction:column;align-self:start;gap:12px;margin-top:66px;padding:18px;display:flex;position:sticky;top:16px;overflow:hidden auto}.catalog-aside h2{margin:0;font-size:28px;line-height:1.15}.catalog-aside p{color:var(--muted);font-size:18px}.catalog-aside .action{align-self:flex-start}.letter-rail{flex-direction:column;height:0;min-height:100%;margin-top:0;padding-top:10px;display:flex;position:relative;top:auto}.letter-list{flex:0 1 calc(100cqh - 24px - var(--mini-player-space,0px));height:auto;min-height:0;padding-block:8px;position:sticky;top:12px}.letter-slot{flex:0 24px}.letter-knot{border:0;flex:1 1 0;min-height:0;margin:0;position:relative;overflow:hidden}.letter-knot:before{content:"";background:var(--cord);opacity:.55;filter:url(#soft-thread);width:2px;position:absolute;top:1px;bottom:1px;left:50%;translate:-50%}.letter-knot:after{content:"";background:var(--satin);background-size:2.8px 2.8px,auto;width:5px;height:5px;position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:45deg;box-shadow:0 0 0 1px #6f5226}.journey{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.journey-section{grid-template-columns:minmax(0,1fr);gap:6px;padding-top:14px;display:grid;position:relative}.journey-section:before{content:"";background:var(--thread-rule);pointer-events:none;height:10px;position:absolute;top:0;left:0;right:0}.journey-section:first-child{padding-top:0}.journey-section:first-child:before{display:none}.journey-section .song-title{font-size:19px}.journey-section .song-meta{font-size:15px}.journey-section .song-open{min-height:54px}.catalog-aside .journey-note{margin:-4px 0 4px;font-size:16px}.popular-list{grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.popular-song{width:100%;min-height:36px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:2px 0;display:flex}.popular-song:hover .popular-title{text-underline-offset:4px;text-decoration:underline}.popular-rank.is-trailing{background-color:var(--panel)}.popular-copy{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.popular-title{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font:18px/1.2 Georgia,serif;overflow:hidden}.popular-meta{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:0 10 auto;font-size:14px;overflow:hidden}.popular-plays{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto;padding-left:8px;font-size:13px}.resume-shelf{display:none}.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>=800px) and (height<=900px){.catalog-hero{min-height:0;padding:24px 38px 8px}.catalog-hero h1{font-size:50px}}@media (width>=1100px){#catalog-view{grid-template-columns:minmax(0,max-content) minmax(320px,520px) minmax(0,1fr);align-items:end;display:grid}.catalog-hero{grid-column:1;padding-bottom:24px}.hero-copy{width:auto}.catalog-content{display:contents}.search-field{grid-column:2;max-width:none;margin:0 0 24px 8px}.catalog-filters,.catalog-layout{grid-column:1/-1;align-self:start;padding-inline:38px}.catalog-filters{padding-top:4px}.catalog-filters[open]>summary{left:38px}.catalog-layout{padding-bottom:28px}}@media (width>=1280px){.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-top:16px;padding-bottom:4px}.catalog-hero h1{font-size:32px}.catalog-hero .subtitle{display:none}.search-field{margin-bottom:12px}.search-field label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.catalog-filters{padding-bottom:4px}.catalog-filters:not([open])>summary{margin-bottom:0}.catalog-count{margin-top:6px}.shelf-title{margin-top:14px}}@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,.combo-count,.key.is-miss,.progress-track:before,.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{display:none}.progress-track:before{forced-color-adjust:none;background:highlight}.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}.repeat-toggle:has(input:checked){outline:2px solid highlight}}.thread-icon{forced-color-adjust:none}.mini-player.is-leaving{pointer-events:none}@font-face{font-family:Commissioner;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/commissioner-latin.woff2)format("woff2")}:root[data-theme=retro]{--bg:#2f2a1f;--panel:#5f5745;--line:#8a7f63;--text:#f3ecd2;--muted:#d2c8a6;--accent:#f4c315;--accent-soft:#f4c3152b;--rust:#c8262a;--stone-light:#8a7f63;--stone-dark:#2f2a1f;--void:#14120d;--n64-yellow:#f4c315;--n64-blue:#2d5bd2;--n64-green:#1d9a45;--outline:#120e08;--selected-cloth:linear-gradient(180deg, #5c4c1c, #43380f);--slot-recess:inset 2px 2px 0 #1c1812, inset -1px -1px 0 #8a7f6366;--slot-raised:inset 1px 1px 0 #f7e28a66, inset -1px -1px 0 #1c1812;--thread-rule:linear-gradient(180deg, transparent 3px, #241f17 3px 5px, #8a7f63 5px 6px, transparent 6px);--cord:linear-gradient(135deg, #d8cda4 0 30%, #8a7f63 45% 55%, #241f17 70%);--satin:none;--weave:linear-gradient(180deg, #ffffff0a, transparent 40%, #0000001f);--cloth:url(/art/retro/stone.svg);--cloth-size:256px;--story-font:"Commissioner", "Optima", "Trebuchet MS", sans-serif;font-family:var(--story-font);background:var(--void);font-weight:600}:root[data-theme=retro] .embroidered,:root[data-theme=retro] .stitched-label{-webkit-text-fill-color:currentColor;-webkit-text-stroke:0;filter:none;text-shadow:1px 1px 0 var(--outline), -1px 1px 0 var(--outline), 0 2px 0 var(--outline);background:0 0}:root[data-theme=retro] .embroidered{color:#fff7dc;text-shadow:2px 2px 0 var(--outline), -1px 1px 0 var(--outline), 1px -1px 0 var(--outline), 0 3px 0 var(--outline)}:root[data-theme=retro] :is(h1,h2,.brand,.song-title,.popular-title,.theme-card-title,.mini-title,.combo-count,.ribbon-title,.letter-slot,.letter-bubble,.count-badge,.step-number){font-family:var(--story-font);letter-spacing:-.01em;font-weight:800}:root[data-theme=retro] .subtitle{font-style:normal;font-weight:600}:root[data-theme=retro] .eyebrow{color:var(--n64-yellow);letter-spacing:.08em}:root[data-theme=retro] .eyebrow.stitched-label{color:var(--n64-yellow)}:root[data-theme=retro] a,:root[data-theme=retro] .text-button{-webkit-text-decoration-color:var(--n64-yellow);text-decoration-color:var(--n64-yellow)}:root[data-theme=retro] input::placeholder{color:#b5ab8b}:root[data-theme=retro] :before,:root[data-theme=retro] :after,:root[data-theme=retro] .select-chevron{filter:none!important}:root[data-theme=retro] .app:after{box-shadow:inset 0 0 0 3px #241f17,inset 0 0 90px 10px #0a080599}:root[data-theme=retro] .tapestry-edge{background:url(/art/retro/band.svg) 0 0/auto 100% repeat-x}:root[data-theme=retro] .tapestry-art{display:none}:root[data-theme=retro] .retro-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:.55;background:url(/art/retro/tree-mobile.svg) 100% 0/contain no-repeat;display:block;position:absolute;left:0;-webkit-mask-image:linear-gradient(#000 0 88%,#0000);mask-image:linear-gradient(#000 0 88%,#0000)}@media (width>=800px){:root[data-theme=retro] .retro-art{height:min(calc(100% - var(--tapestry-band-height)), calc(100vw / 3));background-image:url(/art/retro/tree-desktop.svg)}}:root[data-theme=retro] .brand-icon{filter:drop-shadow(1px 2px 0 var(--outline))}:root[data-theme=retro] .settings-section,:root[data-theme=retro] .head,:root[data-theme=retro] .catalog-filters,:root[data-theme=retro] .song-row,:root[data-theme=retro] .binding-row{border-bottom:2px solid #241f17;box-shadow:0 1px #8a7f6355}:root[data-theme=retro] .app-nav{border-top:2px solid #8a7f63;box-shadow:inset 0 2px #241f17}:root[data-theme=retro] .menu-ornament{opacity:.7}:root[data-theme=retro] #main-content{scrollbar-color:var(--n64-yellow) #241f17}:root[data-theme=retro] #main-content::-webkit-scrollbar-track{background:#241f17;border-left:0}:root[data-theme=retro] #main-content::-webkit-scrollbar-thumb{background:var(--n64-yellow);border-color:#241f17}:root[data-theme=retro] :is(.action,.step,.key,.bend-key,.input-frame,.category-card,.universe-chip,.letter-list){background-color:#4a4335}:root[data-theme=retro] :is(.action,.step):hover:not(:disabled){background-color:#5c5442}:root[data-theme=retro] .action.primary{background-color:var(--n64-blue);background-image:linear-gradient(#ffffff26,#0000 45%,#0003)}:root[data-theme=retro] .action.primary:hover:not(:disabled){background-color:#3a6ce6}:root[data-theme=retro] .action.primary:before{background:linear-gradient(135deg,#9fb8ff 0 30%,#1b3a8f 60%,#0b1a45)}:root[data-theme=retro] :is(.input-frame,.letter-list){background-color:#241f17}:root[data-theme=retro] option{background:#241f17}:root[data-theme=retro] .select-chevron:before,:root[data-theme=retro] .select-chevron:after{background:var(--n64-yellow)}:root[data-theme=retro] .universe-chevron{border-color:var(--n64-yellow)}:root[data-theme=retro] summary:after{color:var(--n64-yellow);-webkit-text-fill-color:var(--n64-yellow)}:root[data-theme=retro] .count-badge{background-color:var(--rust);font-family:var(--story-font);text-shadow:1px 1px 0 var(--outline);border-color:#f08a8c;font-weight:800}:root[data-theme=retro] .song-seal{background-color:#241f17;border-color:#8a7f63}:root[data-theme=retro] :is(.category-card[aria-pressed=true],.mode-switch [aria-pressed=true],.key.is-expected,.bend-key.is-expected,.universe-chip:has(input:checked),.app-nav a[aria-current=page],.letter-slot[aria-current=true],.tok.is-expected .staff-modifier,.tok.is-playing .staff-modifier):after{border:2px solid var(--n64-yellow);box-shadow:0 0 0 1px var(--outline), inset 0 0 0 1px var(--outline)}:root[data-theme=retro] .app-nav a[aria-current=page] .thread-icon{opacity:1}:root[data-theme=retro] .settings-link[aria-current=page]{outline:2px solid var(--n64-yellow);outline-offset:-4px}:root[data-theme=retro] .binding-key[aria-pressed=true]{outline-color:var(--n64-yellow)}:root[data-theme=retro] .repeat-toggle input:checked+span .thread-icon{background:var(--selected-cloth);box-shadow:0 0 0 1px var(--outline), 0 0 0 3px var(--n64-yellow), 0 0 0 4px var(--outline)}:root[data-theme=retro] .tab{background:#000000d9;border-block:2px solid #241f17;box-shadow:inset 0 2px #00000080}:root[data-theme=retro] .tab:before{background:repeating-linear-gradient(0deg,#c8262a 0 2px,#0000 2px 18px)}:root[data-theme=retro] .staff-clef img{object-fit:contain;filter:none;width:30px;height:44px;margin-top:-8px}:root[data-theme=retro] .note-order{font-family:var(--story-font);color:var(--muted);font-weight:700}:root[data-theme=retro] .tok.is-playing,:root[data-theme=retro] .tok.is-expected{background:#f4c31526}:root[data-theme=retro] .tok:before{background:var(--n64-yellow);box-shadow:0 0 0 1px var(--outline);padding:3px;transition:opacity .1s steps(2,end),scale .12s steps(3,end);inset:-3px;scale:1.25}:root[data-theme=retro] .tok.is-playing>.control-icon{animation:.24s steps(4,end) both n64-press;translate:none}@keyframes n64-press{0%{translate:0 3px;scale:.9}50%{translate:0 -4px;scale:1.14}to{translate:0 -2px;scale:1.06}}:root[data-theme=retro] .tok:after{background:conic-gradient(#fff7dc calc(var(--note-progress) * 1turn), #00000080 0);-webkit-mask:repeating-conic-gradient(#000 0 28deg, transparent 28deg 45deg), 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 28deg, transparent 28deg 45deg), linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:repeating-conic-gradient(#000 0 28deg, transparent 28deg 45deg), linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);padding:4px;inset:-12px;-webkit-mask-composite:source-in,xor;mask-composite:intersect,exclude}:root[data-theme=retro] .tok.is-playing:after{opacity:1;animation:note-thread var(--note-ms,.4s) steps(8, end) both}:root[data-theme=retro] .hit-burst:before{border:3px solid var(--n64-yellow);box-shadow:0 0 0 1px var(--outline), inset 0 0 0 1px var(--outline);animation-timing-function:steps(5,end)}:root[data-theme=retro] .hit-burst i{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#fff7dc;width:14px;height:14px;top:-7px;left:-7px}:root[data-theme=retro] .hit-burst[data-tier="1"] i:nth-child(odd),:root[data-theme=retro] :is(.hit-burst[data-tier="2"],.hit-burst[data-tier="3"],.hit-burst[data-tier="4"],.hit-burst[data-tier="5"]) i:nth-child(4n+1){background:var(--n64-yellow)}:root[data-theme=retro] :is(.hit-burst[data-tier="2"],.hit-burst[data-tier="3"],.hit-burst[data-tier="4"],.hit-burst[data-tier="5"]) i:nth-child(4n+2){background:#6f97ff}:root[data-theme=retro] :is(.hit-burst[data-tier="2"],.hit-burst[data-tier="3"],.hit-burst[data-tier="4"],.hit-burst[data-tier="5"]) i:nth-child(4n+3){background:#3cc46a}:root[data-theme=retro] :is(.hit-burst[data-tier="2"],.hit-burst[data-tier="3"],.hit-burst[data-tier="4"],.hit-burst[data-tier="5"]) i:nth-child(4n){background:#ff5a5e}:root[data-theme=retro] .key-ripple{border:3px solid var(--n64-yellow);border-radius:6px;animation-timing-function:steps(4,end)}@media (prefers-reduced-motion:reduce){:root[data-theme=retro] .tok.is-playing>.control-icon{animation:none;translate:0 -2px}}:root[data-theme=retro] .progress-track{background:#14120d;border:2px solid #241f17}:root[data-theme=retro] progress::-webkit-progress-bar{background:#3a3326}:root[data-theme=retro] .progress-track:before{background:linear-gradient(100deg,#fff7dc00 35%,#fff7dccc 50%,#fff7dc00 65%) -90px 0/90px 100% no-repeat,linear-gradient(#ffe066,#d9a400)}:root[data-theme=retro] .progress-track:after{background:var(--n64-yellow);border-color:var(--outline)}:root[data-theme=retro] .combo-badge[data-tier="2"],:root[data-theme=retro] .combo-badge[data-tier="3"],:root[data-theme=retro] .combo-badge[data-tier="4"],:root[data-theme=retro] .combo-badge[data-tier="5"],:root[data-theme=retro] .combo-ribbon{background-color:var(--rust);background-image:linear-gradient(#fff2,#0000 50%,#0003)}:root[data-theme=retro] .combo-ribbon{border-block:2px solid var(--n64-yellow);border-image:}:root[data-theme=retro] .combo-ribbon.is-passage{background-color:var(--n64-green)}:root[data-theme=retro] :is(.combo-badge,.combo-ribbon):after{border-style:solid;border-color:#f4c31599}:root[data-theme=retro] .letter-bubble{background-color:var(--n64-blue);color:#fff7dc;text-shadow:2px 2px 0 var(--outline)}:root[data-theme=retro] .letter-bubble:after{border-style:solid;border-color:#fff5}:root[data-theme=retro] .letter-knot:before{opacity:1;filter:none;background:#6b5f48}:root[data-theme=retro] .letter-knot:after{background:var(--n64-yellow);box-shadow:0 0 0 1px var(--outline)}:root[data-theme=retro] .toggle input{background-color:#241f17;box-shadow:inset 2px 2px #0e0c08}:root[data-theme=retro] .toggle input:before{border:2px solid #8a7f63;border-image:}:root[data-theme=retro] .toggle input:checked{background-color:var(--n64-green)}:root[data-theme=retro] .toggle input:checked:after{background:#fff7dc}:root[data-theme=retro] input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(#241f17,#8a7f63)}:root[data-theme=retro] input[type=range]::-moz-range-track{background:linear-gradient(#241f17,#8a7f63)}:root[data-theme=retro] input[type=range]::-webkit-slider-thumb{border:3px solid var(--outline);background:var(--n64-yellow);border-image:}:root[data-theme=retro] input[type=range]::-moz-range-thumb{border:3px solid var(--outline);background:var(--n64-yellow)}:root[data-theme=retro] [data-difficulty=easy]>.seal-frame{background-image:url(/art/retro/difficulty/easy.svg)}:root[data-theme=retro] [data-difficulty=medium]>.seal-frame{background-image:url(/art/retro/difficulty/medium.svg)}:root[data-theme=retro] [data-difficulty=hard]>.seal-frame{background-image:url(/art/retro/difficulty/hard.svg)}:root[data-theme=retro] [data-difficulty=expert]>.seal-frame{background-image:url(/art/retro/difficulty/expert.svg)}:root[data-theme=retro] .difficulty-step.is-current .difficulty-name{text-decoration-style:solid;-webkit-text-decoration-color:var(--n64-yellow);text-decoration-color:var(--n64-yellow)}:root[data-theme=retro] .shoulders{grid-template-columns:clamp(60px,18vw,76px)}@media (width>=800px){:root[data-theme=retro] .key .control-icon--button{width:36px;height:38px}}@media (width<=430px){:root[data-theme=retro] .app-nav a{gap:5px;font-size:15px}:root[data-theme=retro] .app-nav{gap:4px;padding-inline:8px}}:root[data-theme=retro] .rate-field select{letter-spacing:-.02em;font-size:15px}:root[data-theme=retro] .settings-section:first-of-type{border-top:2px solid #241f17}:root[data-theme=retro] .controller-panel{background:#241f17e6;border-style:solid;border-color:#8a7f63}:root[data-theme=retro] .notice{border-left-color:var(--n64-yellow);background:#241f17aa}:root[data-theme=retro] .step-number{border-color:var(--n64-yellow);background:#241f17}:root[data-theme=retro] .step-placeholder{border-style:solid;border-color:#8a7f6366}:root[data-theme=retro] .catalog-aside{border-left:2px solid #241f17}:root[data-theme=retro] .quick-play[data-state=playing] .thread-icon,:root[data-theme=retro] .quick-play[data-state=paused] .thread-icon{box-shadow:0 0 0 2px var(--outline), 0 0 0 4px var(--n64-yellow);border-radius:50%}:root[data-theme=retro] .thread-spinner:before{background:#8a7f63}:root[data-theme=retro] .thread-spinner:after{background:conic-gradient(var(--n64-yellow) 0 25%, transparent 25% 100%)}:root[data-theme=retro] .mini-player:before{padding:3px}@media (forced-colors:active){:root[data-theme=retro] .embroidered,:root[data-theme=retro] .stitched-label{text-shadow:none}:root[data-theme=retro] .retro-art{display: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}}
