*{box-sizing:border-box}html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#fff;background:#eee}body{min-height:100vh;background:#1b1637;overflow-x:hidden}.bg{position:fixed;inset:0;background-image:linear-gradient(180deg,#6b6d9b33,#f59bc355 45%,#b77aa944),url('../app-bg.jpg');background-size:cover;background-position:center top;filter:saturate(1.12);z-index:0;pointer-events:none}.bg:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1b163722,#f7a9c222 50%,#11182733);backdrop-filter:blur(3px)}.wrap{position:relative;z-index:1;width:min(960px,94%);margin:auto;padding:48px 0 30px}.hero{text-align:center}.brand{font-size:42px;font-weight:900;letter-spacing:3px;background:linear-gradient(90deg,#ff62c6,#ffe16b,#65f4d7,#7aa8ff,#ff70c8);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 3px 18px #0004}.sub{font-size:20px;margin:12px 0 22px;font-weight:700;background:linear-gradient(90deg,#fff,#ffe477,#80f3ff,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 10px #0005}.search{display:flex;max-width:620px;margin:auto;background:#ffffff42;border:1px solid #fff7;border-radius:18px;padding:5px;backdrop-filter:blur(18px)}.search input{flex:1;border:0;background:transparent;outline:0;color:#fff;font-size:16px;padding:11px 15px}.search input::placeholder{color:#fffb}.search button{border:0;border-radius:13px;padding:0 20px;font-weight:700}.notice,.cats,.grid{background:#ffffff30;border:1px solid #fff8;backdrop-filter:blur(20px);box-shadow:0 18px 45px #5552}.notice{margin:30px 0 18px;border-radius:20px;padding:20px 24px;line-height:1.9;font-size:15px}.notice-title{font-size:20px;font-weight:900;margin-bottom:5px;background:linear-gradient(90deg,#ff78c8,#ffd75c,#6ef2dc);-webkit-background-clip:text;background-clip:text;color:transparent}.cats{display:flex;gap:10px;overflow:auto;border-radius:18px;padding:12px;margin-bottom:18px}.cats a{white-space:nowrap;color:#fff;text-decoration:none;padding:8px 15px;border-radius:12px}.cats a.on,.cats a:hover{background:#ffffff55}.grid{border-radius:24px;padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #fff6;background:#ffffff25;border-radius:18px;min-width:0}.logo{width:64px;height:64px;border-radius:17px;overflow:hidden;flex:none;background:#ffffff70;display:grid;place-items:center;font-size:28px;font-weight:800}.logo img{width:100%;height:100%;object-fit:cover}.info{min-width:0;flex:1}.info h3{margin:0 0 5px;font-size:17px}.info p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fffD}.info small{opacity:.8}.download{background:linear-gradient(135deg,#fff,#ffe4f5);color:#9b3b78;text-decoration:none;font-weight:900;padding:9px 14px;border-radius:12px;box-shadow:0 5px 15px #0002}.empty{text-align:center;padding:40px;grid-column:1/-1}footer{text-align:center;padding:28px;color:#fffC}footer a{color:#fff}@media(max-width:700px){.wrap{padding-top:28px}.brand{font-size:31px}.sub{font-size:16px}.grid{grid-template-columns:1fr;padding:12px}.notice{padding:16px}.app{padding:12px}.logo{width:58px;height:58px}}
/* admin */
.admin-body{background:#f5f6f8;color:#222}.admin-wrap{width:min(1180px,94%);margin:auto;padding:35px 0}.admin-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 30px #0000000b;margin-bottom:18px}.btn{display:inline-block;border:0;border-radius:9px;padding:9px 14px;background:#222;color:#fff;text-decoration:none;cursor:pointer}.btn.red{background:#c33}.btn.gray{background:#eee;color:#333}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #eee;text-align:left}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:13px;margin-bottom:6px;color:#666}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:9px}.field.full{grid-column:1/-1}.login{max-width:400px;margin:10vh auto}.alert{padding:10px;background:#fff1f1;color:#a22;border-radius:8px;margin-bottom:12px}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.table{font-size:13px}}
