:root{--ink:#171717;--muted:#6f6f6f;--line:#dedbd4;--paper:#f6f4ef;--panel:#fff;--accent:#e8472b;--soft:#eeeae2}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}header{color:#fff;z-index:5;background:#171717;justify-content:space-between;align-items:center;height:78px;padding:0 30px;display:flex;position:sticky;top:0}.brand{letter-spacing:.12em;font-size:20px;font-weight:800}.sub{color:#aaa;margin-top:4px;font-size:12px}.count{color:#c9c9c9;font-size:13px}main{grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100vh - 78px);display:grid}.library{padding:32px}.toolbar{justify-content:space-between;align-items:end;gap:24px;display:flex}.toolbar h1{margin:0;font-size:32px}.toolbar p{color:var(--muted);margin:7px 0 0}.toolbar input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;width:360px;padding:13px 15px}.toolbar input:focus{border-color:#777}.results{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:30px 0 12px;font-size:12px}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:10px;transition:all .15s;overflow:hidden}.card.chosen{outline:2px solid var(--accent);outline-offset:-2px}.preview{aspect-ratio:16/9;background:#e9e7e2;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.preview img{object-fit:contain;width:100%;height:100%;display:block}.hidden{color:#fff;background:#171717;border-radius:99px;padding:5px 8px;font-size:11px;position:absolute;top:10px;right:10px}.cardbody{padding:14px}.meta{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.card h2{min-height:40px;margin:8px 0 16px;font-size:16px;line-height:1.25}.actions{gap:8px;display:flex}.actions button,.detail button{border:0;border-radius:6px;padding:9px 12px}.secondary{background:var(--soft)}.select{background:var(--accent);color:#fff}.remove{color:#fff;background:#171717}aside{border-left:1px solid var(--line);background:#fff;height:calc(100vh - 78px);padding:24px;position:sticky;top:78px;overflow:auto}.asideHead{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.asideHead strong{font-size:18px}.asideHead span{color:#fff;background:#171717;border-radius:99px;margin-left:8px;padding:3px 8px;font-size:11px}.text{color:var(--muted);background:0 0;border:0;text-decoration:underline}.empty{color:var(--muted);border:1px dashed #bbb;border-radius:8px;padding:20px;font-size:14px;line-height:1.5}ol{margin:0;padding:0;list-style:none}li{border-bottom:1px solid #eee;grid-template-columns:68px 1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}li img{aspect-ratio:16/9;object-fit:contain;background:#eee;width:68px}li b{font-size:12px;line-height:1.25;display:block}li small{color:var(--muted)}.move{flex-direction:column;gap:2px;display:flex}.move button{background:#fff;border:1px solid #ddd;border-radius:4px;width:26px;height:24px}.move button:disabled{opacity:.3}.export{background:var(--accent);color:#fff;border:0;border-radius:7px;width:100%;margin-top:20px;padding:14px;font-weight:700}.export:disabled{opacity:.6}.fidelity{color:var(--muted);font-size:11px;line-height:1.45}.modal{z-index:20;background:#000000b3;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);width:min(1100px,96vw);max-height:92vh;display:grid;position:relative;overflow:auto}.dialog>img{background:#eee;align-self:center;width:100%}.detail{padding:28px}.detail h2{font-size:24px}.detail pre{white-space:pre-wrap;background:#f7f7f7;border-radius:6px;max-height:350px;padding:14px;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.5;overflow:auto}.close{color:#fff;background:#171717;border:0;border-radius:50%;width:32px;height:32px;font-size:20px;position:absolute;top:12px;right:12px}@media (max-width:900px){main{grid-template-columns:1fr}aside{border-left:0;border-top:1px solid var(--line);height:auto;position:relative;top:auto}.toolbar{flex-direction:column;align-items:stretch}.toolbar input{width:100%}.dialog{grid-template-columns:1fr}}@media (max-width:600px){header{padding:0 16px}.library{padding:20px 14px}.count{display:none}.grid{grid-template-columns:1fr}.modal{padding:10px}.detail{padding:20px}}
