:root{--serif:Georgia,'Times New Roman',serif;--player-height:104px;--page-gutter:32px;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;padding-bottom:calc(var(--player-height) + 20px);font-size:14px;line-height:1.5}[hidden]{display:none!important}
button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3,p{margin:0}h1{font:700 clamp(32px,4vw,42px)/1.12 var(--serif);letter-spacing:-1px;overflow-wrap:anywhere}h2{font:400 25px/1.2 var(--serif)}h3{font:400 21px/1.3 var(--serif)}h1:focus{outline:none}.wrap{max-width:1280px;margin:0 auto;padding-inline:var(--page-gutter)}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin-bottom:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid var(--line);border-radius:5px;padding:10px 16px;background:var(--surface);color:var(--ink);text-decoration:none;text-align:center;font-size:13px}.button:hover{background:var(--hover)}.button.primary{background:var(--primary-fill);border-color:var(--accent);color:var(--on-accent)}.button[aria-pressed=true]{background:var(--peach);border-color:var(--selection-line)}.text-button{border:0;background:none;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.icon-button{border:0;background:transparent;border-radius:4px;padding:10px;display:grid;place-items:center;min-width:40px;min-height:40px}.icon-button:hover{background:var(--hover)}svg{width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);min-width:0}.field input,.field select{height:42px;min-width:0;width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:14px}input[type=range]{accent-color:var(--accent);min-width:0}button,a{-webkit-tap-highlight-color:transparent}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.masthead{--masthead-gap:32px;display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-rows:76px;align-items:center;gap:0 var(--masthead-gap);max-width:none;width:100%;padding-inline:var(--page-gutter);border-bottom:1px solid var(--line)}
.masthead-start{display:contents}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0}.brand img{display:block;width:208px;height:49px;object-fit:contain}
.app-nav{display:flex;align-self:stretch;gap:26px;font-size:13px}.app-nav a{display:flex;align-items:center;text-decoration:none;border-bottom:2px solid transparent;padding:2px 2px 0;white-space:nowrap}.app-nav a:hover{color:var(--accent)}.app-nav a[aria-current]{border-bottom-color:var(--accent);color:var(--accent)}
.search-field{justify-self:end;display:flex;align-items:center;gap:9px;width:250px;max-width:100%;height:36px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted)}.search-field svg{width:17px;height:17px;flex-shrink:0}.search-field input{width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:13px}.search-field:focus-within{outline:2px solid var(--focus);outline-offset:2px}.search-field input:focus-visible{outline:none}
.breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-top:19px;font-size:12px;color:var(--muted);min-height:44px}.breadcrumbs span[aria-current]{color:var(--ink)}main{min-height:50vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:30px 0}.page-heading h1{margin-bottom:12px}.page-footer{padding:32px 0 12px;font-size:11px;color:var(--muted)}.empty{padding:32px 0;color:var(--muted)}
.player{position:fixed;z-index:20;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 24px #352a2606}
.player-main{display:grid;grid-template-columns:minmax(190px,1fr) minmax(330px,1.65fr) auto;align-items:center;gap:24px;padding-top:12px;padding-bottom:8px}
.now-playing{display:flex;align-items:center;gap:13px;min-width:0}.mini-cover{width:76px;height:44px;flex-shrink:0}.now-text{min-width:0}
#now-title{font:400 17px/1.25 var(--serif);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-text p{font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.transport{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center}.transport-buttons{display:flex;justify-content:center;align-items:center;gap:5px}
.play-button{width:46px;height:46px;flex-shrink:0;border:1px solid #b7442066;border-radius:50%;background:var(--primary-fill);color:var(--on-accent);box-shadow:inset 0 1px 2px #ffffff33;display:grid;place-items:center}.play-button:hover{filter:brightness(1.06)}.play-button svg{width:24px;height:24px}
.timeline{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:9px;align-items:center;font-size:11px;font-variant-numeric:tabular-nums}.timeline input{width:100%;margin:0}.timeline span:last-child{text-align:right}
.player :is(#seek,#volume){appearance:none;-webkit-appearance:none;height:20px;background:transparent;cursor:pointer}.player :is(#seek,#volume)::-webkit-slider-runnable-track{height:4px;border-radius:5px;background:linear-gradient(to right,var(--accent) 0 var(--range-progress,0%),var(--line) var(--range-progress,0%) 100%)}.player :is(#seek,#volume)::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border:0;border-radius:50%;background:var(--accent)}.player :is(#seek,#volume)::-moz-range-track{height:4px;border-radius:5px;background:var(--line)}.player :is(#seek,#volume)::-moz-range-progress{height:4px;background:var(--accent)}.player :is(#seek,#volume)::-moz-range-thumb{width:12px;height:12px;border:0;background:var(--accent);border-radius:50%}
.player-actions{display:flex;gap:3px;align-items:center}.player-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);padding-bottom:6px}
#player-settings{position:relative}#player-settings>summary{list-style:none}#player-settings>summary::-webkit-details-marker{display:none}
.settings-panel{position:absolute;bottom:calc(100% + 14px);right:0;width:290px;background:var(--surface);padding:20px;border:1px solid var(--line);border-radius:7px;box-shadow:0 10px 35px #352a261c;display:grid;gap:18px;max-height:calc(100dvh - 150px);overflow:auto}
.tempo-control{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:12px;align-items:center}.tempo-control input{width:100%}.tempo-control output{text-align:right;font-variant-numeric:tabular-nums}.volume-control{display:flex;gap:3px;align-items:center}.volume-control input{width:74px}
dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:9px;padding:24px;background:var(--surface);color:var(--ink);box-shadow:0 20px 70px #352a2626}dialog::backdrop{background:#241c1959}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-heading h2{overflow-wrap:anywhere}.dialog-actions{display:flex;gap:10px;flex-shrink:0}#score-dialog{width:min(1180px,calc(100% - 24px));height:calc(100dvh - 30px);padding:20px}#score-dialog[open]{display:flex;flex-direction:column}#score-frame{width:100%;flex:1;border:0;min-height:0;background:var(--past)}.file-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.queue-dialog{margin-right:20px;width:min(540px,calc(100% - 32px))}.queue-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.next-toggle{display:flex;align-items:center;gap:8px;font-size:13px}.queue{list-style:none;padding:0;margin:20px 0 0}.queue li{display:grid;grid-template-columns:24px minmax(0,1fr) 40px;gap:13px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.queue-index,.queue time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.queue li button{padding:0;border:0;background:none;text-align:left;font-size:14px;overflow-wrap:anywhere}.queue small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
@media(max-width:1050px){:root{--page-gutter:24px}.player-main{gap:16px;grid-template-columns:minmax(150px,1fr) minmax(300px,1.7fr) auto}.player .mini-cover{width:58px;height:40px}.player .volume-control input{width:55px}.transport{gap:10px;grid-template-columns:126px minmax(0,1fr)}.transport-buttons{gap:0}.masthead{--masthead-gap:26px}}
@media(max-width:850px){.player-main{grid-template-columns:minmax(0,1fr) auto;gap:9px 20px}.transport{grid-column:1/-1;grid-row:2;grid-template-columns:140px minmax(0,1fr);gap:20px}.player-actions{grid-column:2;grid-row:1}.player-main{padding-top:10px}.player .mini-cover{width:64px;height:38px}.masthead{--masthead-gap:22px}.brand img{width:181px;height:43px}.app-nav{gap:18px}.search-field{width:210px}}
@media(max-width:600px){:root{--page-gutter:12px}.masthead{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:64px auto;column-gap:12px;padding-inline:12px}.brand img{width:159px;height:38px}.app-nav{gap:16px;font-size:12px}.search-field{grid-column:1/-1;width:100%;height:38px;margin-bottom:12px}.search-field input{font-size:16px}.breadcrumbs{font-size:11px}.page-heading{margin:24px 0;gap:16px}.page-heading h1{font-size:34px}.player-main{gap:9px}.now-text #now-title{font-size:16px}.player .mini-cover{display:none}.player-actions{gap:0}.player .volume-control input{width:45px}.player .icon-button{padding:8px;min-width:36px}.transport{grid-template-columns:126px minmax(0,1fr);gap:10px}.timeline{gap:5px;grid-template-columns:28px minmax(0,1fr) 28px}.settings-panel{position:fixed;left:16px;right:16px;bottom:calc(var(--player-height) + 10px);width:auto;max-height:calc(100dvh - var(--player-height) - 30px)}.dialog-heading{flex-wrap:wrap;gap:12px}.dialog-actions{flex-wrap:wrap}.field input,.field select{font-size:16px}.page-footer{font-size:10px}.player-foot{font-size:9px}}

.publication-notice{font-size:12px;color:var(--muted);line-height:1.6;margin-top:4px;margin-bottom:16px}.publication-notice a{color:var(--accent);white-space:normal}
