*{box-sizing:border-box}body{margin:0;background:#f5f3ed;color:#18392c;font:16px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:25px 5vw;background:#173e2d;color:white}.brand{color:inherit;text-decoration:none;font-size:12px;font-weight:750;letter-spacing:2px}.brand span{display:block;font-size:20px;letter-spacing:1px}.badge{border:1px solid #789a86;border-radius:20px;padding:5px 12px;font-size:11px;letter-spacing:1px}main{max-width:1180px;margin:auto;padding:45px 25px}h1{font:normal clamp(42px,6vw,72px)/1.08 Georgia,serif;letter-spacing:-2px;margin:12px 0 24px}h2{font:normal 30px/1.2 Georgia,serif;margin:5px 0 14px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750}.welcome{max-width:720px;padding:45px 0 100px}.welcome p{max-width:540px}.button,button{display:inline-block;background:#21563b;color:white;border:0;border-radius:6px;padding:13px 20px;text-decoration:none;font:inherit;cursor:pointer}button:disabled{background:#e7e9e4;color:#59635c;cursor:not-allowed}.muted{color:#626d64;font-size:14px}.notice{background:#e7ebdf;border-left:3px solid #7c8c53;padding:12px 16px;font-size:14px}.controls{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;margin-top:30px}label{font-size:12px;font-weight:700}select,input{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #bdc8ba;border-radius:5px;background:white;color:#18392c;font:16px system-ui}#solos{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:24px 0 40px}.solo{border:1px solid #d7ddd0;background:white;border-radius:10px;overflow:hidden}.solo .meta{padding:24px}.source{font-size:14px;font-weight:650;overflow-wrap:anywhere}.source small{display:block;font-size:10px;letter-spacing:1px;color:#5f6b61}.preview{display:flex;overflow-x:auto;background:#e8e9e3;scroll-snap-type:x mandatory}.preview figure{margin:0;min-width:100%;scroll-snap-align:start;padding:12px}.preview img{width:100%;height:auto;display:block}.preview figcaption{text-align:center;font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 24px}.actions button{font-size:13px}footer{padding:30px;text-align:center;font-size:12px;color:#6e786f}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ae7d24;outline-offset:3px}@media(max-width:700px){#solos,.controls{grid-template-columns:1fr}header{padding:20px}.brand span{font-size:15px}.badge{font-size:9px}main{padding:30px 18px}}

/* Compact laptop library: put the scores and actions near the top of the viewport. */
.library header{padding:12px 4vw}.library .brand span{font-size:16px}.library main{max-width:1320px;padding:20px 24px}.library h1{font-size:38px;letter-spacing:-1px;margin:4px 0 8px}.library .intro .eyebrow{margin:0}.library #identity{margin:4px 0;font-size:13px}.library .notice{padding:7px 12px;margin:9px 0;font-size:12px}.library .controls{margin-top:14px;gap:14px}.library select,.library input{padding:8px;margin-top:4px}.library #count{margin:12px 0 3px;font-size:13px}.library #count+.muted{margin:0;font-size:12px}.library #solos{gap:20px;margin-top:16px}.library .solo{min-width:0}.library .solo .meta{padding:15px 18px 5px}.library .solo h2{font-size:26px;margin:3px 0 8px}.library .solo .eyebrow{margin:0}.library .source{margin:6px 0}.library .actions{padding:8px 18px 14px;gap:7px}.library .actions button{padding:9px 12px}.library .preview{max-width:100%}dialog{width:min(1040px,96vw);max-width:96vw;height:94vh;max-height:94vh;padding:0;border:1px solid #80927f;border-radius:8px;color:#18392c;background:#f5f3ed}dialog::backdrop{background:#102b20bd}.viewer-bar{position:sticky;top:0;background:white;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #ccd5c8;z-index:1}.viewer-bar h2{font-size:23px;margin:0}.viewer-bar button{flex-shrink:0}.viewer-bar .source{font-size:13px;overflow-wrap:anywhere}#score-pages{padding:12px 20px}#score-pages img{display:block;width:100%;height:auto;margin-bottom:22px}#score-pages p{font-size:13px;overflow-wrap:anywhere}@media(max-width:700px){.library main{padding:16px}.viewer-bar{align-items:start;gap:8px}.viewer-bar button{padding:9px}#score-pages{padding:10px}.library h1{font-size:32px}}
.actions [role=status]{flex-basis:100%;margin:0;overflow-wrap:anywhere}.actions [role=status]:empty{display:none}
