*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif}body{--bg:#f5f7fb;--text:#202532;--muted:#7d8797;--card:#fff;--border:#e8ebf0;--shadow:0 5px 18px rgba(30,45,70,.07);background:var(--bg);color:var(--text);background-image:var(--bg-image);background-size:cover;background-position:center;background-attachment:fixed}.top{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1180px)/2));background:rgba(255,255,255,.78);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.brand{font-weight:700;font-size:21px}.actions{display:flex;gap:10px;align-items:center}.theme{position:relative}.theme button,.login,.button{border:1px solid var(--border);background:var(--card);color:var(--text);padding:9px 14px;border-radius:9px;text-decoration:none;cursor:pointer}.theme-menu{display:none;position:absolute;right:0;top:43px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:6px;min-width:110px}.theme-menu.show{display:block}.theme-menu button{display:block;width:100%;border:0;text-align:left}.theme-menu button:hover{background:var(--bg)}main{max-width:1180px;margin:auto;padding:28px 20px 70px}.searchbox input{width:100%;padding:15px 18px;border-radius:13px;border:1px solid var(--border);background:var(--card);color:var(--text);outline:0;font-size:15px;box-shadow:var(--shadow)}.category{margin-top:28px}.category h2{font-size:18px;margin:0 0 13px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:13px}.card{display:flex;align-items:center;gap:12px;min-height:82px;padding:15px;border:1px solid var(--border);border-radius:13px;background:var(--card);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:.18s}.card:hover{transform:translateY(-2px)}.card img{width:38px;height:38px;border-radius:9px;object-fit:contain}.card-title{font-weight:650}.desc{font-size:12px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.loading{text-align:center;padding:70px;color:var(--muted)}footer{text-align:center;color:var(--muted);padding:24px;font-size:13px}.login-page{display:flex;align-items:center;justify-content:center}.login-box{width:min(420px,92%);background:var(--card);border:1px solid var(--border);border-radius:16px;padding:30px;box-shadow:var(--shadow)}label{display:block;font-size:13px;margin:13px 0}label input,label select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text)}.primary{background:#1677ff!important;color:#fff!important;border:0!important;padding:11px 18px;border-radius:8px;cursor:pointer}.error,.ok{padding:10px;border-radius:8px;margin:10px 0}.error{background:#fff0f0;color:#d33}.ok{background:#effcf3;color:#23864b}.admin{background:#f5f7fb}.admin nav{height:60px;background:#202532;color:#fff;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.admin nav a{color:#ddd;text-decoration:none;margin-left:18px}.panel{max-width:1180px;margin:22px auto;background:#fff;padding:22px;border-radius:14px;box-shadow:var(--shadow);overflow:auto}.panel h1{font-size:20px;margin-top:0}.inline{display:flex;gap:8px;margin-bottom:20px}.inline input{flex:1;padding:11px;border:1px solid #ddd;border-radius:8px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid #eee;font-size:14px}.danger{background:#e84b4b;color:#fff;border:0;padding:8px 12px;border-radius:7px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px}.form-grid .primary{grid-column:1/-1;justify-self:start}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.url{max-width:320px;word-break:break-all}@media(max-width:700px){.top{padding:0 12px}.grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.admin nav span{display:none}.panel{margin:10px}.panel table{min-width:680px}}body[data-theme=dark]{--bg:#11151d;--text:#e8edf5;--muted:#8993a4;--card:#1a202b;--border:#293140;--shadow:0 5px 18px rgba(0,0,0,.22)}body[data-theme=dark] .top{background:rgba(20,25,34,.82)}body[data-theme=image]{--card:rgba(255,255,255,.86)}
