:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#172033;background:#f6f7fb}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 5vw;background:#fff;border-bottom:1px solid #ddd}header strong{margin-right:.75rem}main{max-width:1100px;margin:2rem auto;padding:0 1rem}.panel,.subpanel{background:#fff;border:1px solid #dfe3ea;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0001}.subpanel{margin-top:1rem;background:#fafbff}.narrow{max-width:480px;margin:auto}.toolbar,.titlebar,.actions,.search{display:flex;gap:.75rem;align-items:end;justify-content:space-between;flex-wrap:wrap}.toolbar{margin-bottom:1rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grow{flex:1}label{display:grid;gap:.35rem;font-weight:600}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:.7rem;border:1px solid #aeb7c5;border-radius:8px;background:#fff}button{border:0;border-radius:8px;padding:.7rem 1rem;background:#2855d9;color:#fff;font-weight:650;cursor:pointer}button.secondary{background:#e9edfa;color:#19306e}button.ghost{background:transparent;color:#2855d9}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem}.card{background:#fff;border:1px solid #dfe3ea;border-radius:10px;padding:1rem}.card button{width:100%;text-align:left;background:transparent;color:inherit;padding:0}.muted{color:#657087}.badge{padding:.3rem .55rem;border-radius:999px;background:#e8eefc}.error{color:#a21d2d}.success{color:#176b3a}pre{white-space:pre-wrap;background:#f1f3f8;padding:1rem;border-radius:8px}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:0;border-radius:12px;max-width:560px;width:calc(100% - 2rem)}dialog::backdrop{background:#0008}details{margin-top:1.25rem}#libraryState{margin-top:1rem}@media(max-width:650px){.grid2{grid-template-columns:1fr}.search{align-items:stretch}.search button{width:100%}}
