*{box-sizing:border-box}body{margin:0;background:#171820;color:#f2f2f7;font:15px system-ui,"Microsoft JhengHei",sans-serif;display:flex;min-height:100vh}aside{width:232px;flex-shrink:0;background:#111218;padding:32px 20px;display:flex;flex-direction:column;border-right:1px solid #292a35}.brand{font-weight:800;font-size:24px;color:#c9baff}.muted{color:#9698ad;font-size:13px;line-height:1.7}nav{margin-top:34px;display:grid;gap:7px}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:10px 15px;color:inherit;background:#30313f}button:hover{filter:brightness(1.18)}button:focus-visible,a:focus-visible{outline:2px solid #c0a3ff;outline-offset:3px}.nav{display:flex;justify-content:space-between;text-align:left;background:transparent;color:#a7a8bb}.nav.active{background:#352b51;color:#d6c3ff}.subtle{background:transparent;color:#b1b3c8}.primary{background:#a486f8;color:#17121e;font-weight:700}.aside-bottom{margin-top:auto;padding-top:60px;color:#a7a8bb;font-size:12px;line-height:2}.aside-bottom small{color:#696b80}main{flex:1;max-width:1450px;padding:28px 42px}header{display:flex;align-items:center;justify-content:space-between;gap:15px}.badge{font-size:10px;letter-spacing:1.5px;color:#a9a2c4}.heading{display:flex;align-items:center;justify-content:space-between;margin-top:48px}h1{font-size:34px;margin:0;letter-spacing:-1px}h2{font-size:23px}.toolbar{display:flex;gap:12px;margin:26px 0}input,select{border:1px solid #363747;border-radius:9px;background:#22232e;color:#eee;padding:12px;min-width:0}#search{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:19px}.card{background:#23242f;border:1px solid #31323f;border-radius:15px;overflow:hidden}.preview{height:170px;position:relative;background:linear-gradient(140deg,#36314c,#252936);display:flex;align-items:center;justify-content:center}.preview img{width:100%;height:100%;object-fit:contain}.placeholder{font-size:44px}.star{position:absolute;right:10px;top:10px;background:#171820cc;padding:6px 10px}.star.on{color:#ffd16a}.info{padding:15px}.info h3{margin:0 0 8px;font-size:15px}.tags{min-height:23px;color:#9b92b1;font-size:12px}.actions{display:flex;gap:6px;margin-top:14px}.actions button{font-size:12px;padding:7px 9px}.copy{flex:1;background:#3d3358;color:#d9c8ff}.empty{grid-column:1/-1;text-align:center;border:1px dashed #454052;border-radius:16px;padding:65px 20px;color:#aaa6be}.empty strong{display:block;font-size:22px;color:#e4ddf5;margin-bottom:10px}footer{font-size:12px;color:#7d7f95;margin-top:32px;line-height:1.8}dialog{width:min(470px,92vw);background:#23242f;color:#eee;border:1px solid #464052;border-radius:18px;padding:26px}dialog::backdrop{background:#090910bb}label{display:grid;gap:7px;margin:17px 0;font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#d2c0ff;color:#211833;padding:12px 20px;border-radius:10px;display:none;z-index:10}@media(max-width:700px){body{display:block}aside{width:100%;padding:20px;border-right:0}.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px}.nav{white-space:nowrap;gap:12px}main{padding:20px}.heading{margin-top:28px}header{flex-wrap:wrap}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.preview{height:145px}h1{font-size:28px}}
