body{margin:0;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:#f6f7f5;color:#222}.shell{max-width:1100px;margin:0 auto;padding:16px}.topbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.topbar nav{margin-left:auto;display:flex;gap:8px}button,select,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #ccc;background:#fff;border-radius:8px;padding:6px 12px}button.active,button.selected{background:#222;color:#fff}button.primary,a.primary{background:#222;color:#fff;padding:8px 14px;border-radius:8px;text-decoration:none;display:inline-block}button:disabled{opacity:.5}input,select,textarea{border:1px solid #ccc;border-radius:8px;padding:8px;width:100%;box-sizing:border-box}label{display:block;margin:12px 0}.type-nav,.toolbar,.chips,.row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.card{background:#fff;border-radius:12px;overflow:hidden;position:relative}.card-open{border:0;padding:0;width:100%;text-align:left;background:none}.card img{width:100%;height:220px;object-fit:cover;display:block}.card strong,.card span{display:block;padding:4px 10px}.fav{position:absolute;top:8px;right:8px;border-radius:50%}.notice{background:#fff3cd;padding:10px;border-radius:8px}.error-box{background:#fdecea;padding:16px;border-radius:8px;white-space:pre-wrap}.error-text{color:#b00020}.hint{color:#555;font-size:14px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10}.dialog{background:#fff;max-width:720px;width:92%;max-height:90vh;overflow:auto;padding:20px;border-radius:12px;position:relative}.dialog img{max-width:100%;max-height:420px;object-fit:contain;display:block;margin:0 auto}.dialog .close{position:absolute;top:8px;right:12px;font-size:24px}.actions{display:flex;gap:10px;margin-top:12px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.slot{background:#fff;border-radius:12px;padding:12px}.slot img{width:100%;height:200px;object-fit:cover;border-radius:8px}.thumbs{display:flex;gap:8px;flex-wrap:wrap}.thumbs img{width:90px;height:90px;object-fit:cover;border-radius:8px}.result{max-width:100%;max-height:480px;border-radius:12px}.history-item{background:#fff;border-radius:12px;padding:12px;margin:12px 0}textarea{width:100%}footer{margin-top:32px;color:#666;font-size:13px}.no-img{height:220px;display:flex;align-items:center;justify-content:center;background:#eee}.portrait-note{font-size:14px}
