:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--accent:#7c3aed;--accent-bg:#7c3aed1a;--accent-border:#7c3aed80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#111827;--border:#374151;--accent:#8b5cf6;--accent-bg:#8b5cf626;--accent-border:#8b5cf680;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3{color:var(--text-h);font-weight:600}h1{margin:0;font-size:2.5rem}h2{margin:0 0 16px;font-size:1.5rem}h3{margin:0;font-size:1.125rem}.app{max-width:1200px;margin:0 auto;padding:20px}header{text-align:center;margin-bottom:40px}header h1{margin-bottom:8px}.subtitle{color:var(--text);font-size:18px}main{min-height:60vh}.source-selector{justify-content:center;gap:20px;margin-bottom:16px;display:flex}.source-selector label{cursor:pointer;color:var(--text-h);align-items:center;gap:6px;font-size:14px;display:flex}.source-selector input{accent-color:var(--accent)}.search-bar{gap:12px;max-width:600px;margin:0 auto 30px;display:flex}.search-bar input{border:2px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;flex:1;padding:12px 16px;font-size:16px;transition:border-color .2s}.search-bar input:focus{border-color:var(--accent);outline:none}.search-bar button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:16px;transition:opacity .2s}.search-bar button:hover:not(:disabled){opacity:.9}.search-bar button:disabled{opacity:.5;cursor:not-allowed}.error{text-align:center;color:#e53935;margin-bottom:20px}.content-layout{align-items:flex-start;gap:40px;display:flex}@media (width<=900px){.content-layout{flex-direction:column}}.album-results{flex:1}.album-results h2{margin-bottom:8px}.results-hint{color:var(--text);margin-bottom:20px;font-size:14px}.album-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.album-card{cursor:pointer;border:2px solid var(--border);background:var(--bg);border-radius:8px;transition:border-color .2s,transform .2s;position:relative;overflow:visible}.album-card:hover{border-color:var(--accent-border);z-index:50;transform:translateY(-2px)}.album-card.selected{border-color:var(--accent);box-shadow:var(--shadow)}.album-artwork{aspect-ratio:1;object-fit:cover;width:100%;display:block}.album-artwork-placeholder{background:var(--border);color:var(--text);justify-content:center;align-items:center;font-size:12px;display:flex}.album-info{padding:12px}.album-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:14px;font-weight:500;overflow:hidden}.album-artist{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.track-tooltip{z-index:100;background:var(--bg);border:1px solid var(--border);border-radius:8px;min-width:220px;max-width:280px;max-height:300px;margin-top:8px;padding:12px;position:absolute;top:100%;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.track-tooltip:before{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:6px solid var(--border);position:absolute;top:-6px;left:50%;transform:translate(-50%)}.track-tooltip ul{margin:0;padding:0;list-style:none}.track-tooltip li{color:var(--text-h);justify-content:space-between;gap:8px;padding:3px 0;font-size:11px;display:flex}.track-tooltip li .duration{color:var(--text);flex-shrink:0}.track-tooltip li.more{color:var(--text);justify-content:center;padding-top:6px;font-style:italic}.track-tooltip .loading,.track-tooltip .no-tracks{color:var(--text);text-align:center;font-size:12px;display:block}.pdf-generator{border:2px solid var(--border);background:var(--bg);border-radius:12px;width:320px;padding:24px;position:sticky;top:20px}@media (width<=900px){.pdf-generator{width:100%;position:static}}.pdf-generator h2{margin-top:0;margin-bottom:20px}.selected-album-preview{align-items:center;gap:16px;margin-bottom:24px;display:flex}.selected-album-preview img{object-fit:cover;border-radius:6px;width:80px;height:80px}.preview-img-placeholder{background:var(--border);width:80px;height:80px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex}.preview-info h3{color:var(--text-h);margin:0 0 4px;font-size:16px}.preview-info p{color:var(--text);margin:0;font-size:14px}.track-count{color:var(--text);background:var(--accent-bg);border-radius:10px;margin-top:6px;padding:2px 8px;font-size:12px;display:inline-block}.sleeve-description{color:var(--text);margin-bottom:20px;font-size:13px;line-height:1.5}.output-type-selector{margin-bottom:20px}.output-type-selector>label{color:var(--text-h);margin-bottom:12px;font-weight:500;display:block}.paper-size-selector{margin-bottom:24px}.paper-size-selector>label{color:var(--text-h);margin-bottom:12px;font-weight:500;display:block}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-group label{border:2px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:12px;transition:border-color .2s;display:flex}.radio-group label:hover{border-color:var(--accent-border)}.radio-group label.selected{border-color:var(--accent);background:var(--accent-bg)}.radio-group input{accent-color:var(--accent)}.radio-group span{color:var(--text-h);font-size:14px}.generate-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:14px;font-size:16px;font-weight:500;transition:opacity .2s}.generate-button:hover:not(:disabled){opacity:.9}.generate-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#e53935;text-align:center;margin-top:12px;font-size:14px}footer{text-align:center;color:var(--text);border-top:1px solid var(--border);margin-top:60px;padding:40px 20px;font-size:14px}
