*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f5f5f7;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-page{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:40px;display:flex;box-shadow:0 20px 60px #0006}.login-logo{background:linear-gradient(135deg,#00f5a0,#00d9f5);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800}.login-sub{color:#666;text-align:center;font-size:14px}.login-input{border:1px solid #ddd;border-radius:8px;outline:none;padding:12px 16px;font-family:monospace;font-size:14px;transition:border .2s}.login-input:focus{border-color:#0f3460}.login-btn{color:#1a1a2e;cursor:pointer;background:linear-gradient(135deg,#00f5a0,#00d9f5);border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:700;transition:opacity .2s}.login-btn:hover{opacity:.85}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#c62828;text-align:center;font-size:13px}.header{color:#fff;z-index:100;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);padding:20px 40px;position:sticky;top:0;box-shadow:0 2px 20px #0000004d}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1400px;margin:0 auto;display:flex}.header h1{white-space:nowrap;font-size:22px;font-weight:700}.header h1 span{background:linear-gradient(135deg,#00f5a0,#00d9f5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header-stats{gap:16px;display:flex}.stat-box{text-align:center;background:#ffffff1a;border-radius:8px;padding:6px 14px}.stat-box .num{color:#00f5a0;font-size:18px;font-weight:700}.stat-box .lbl{opacity:.7;text-transform:uppercase;font-size:10px}.logout-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:6px 14px;font-size:12px;transition:background .2s}.logout-btn:hover{background:#fff3}.filters{z-index:99;background:#fff;border-bottom:1px solid #e5e5e5;padding:14px 40px;position:sticky;top:72px;box-shadow:0 2px 8px #0000000d}.filters-inner{flex-wrap:wrap;align-items:center;gap:10px;max-width:1400px;margin:0 auto;display:flex}.filter-group{align-items:center;gap:6px;display:flex}.filter-group label{color:#666;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:600}.search-box,.filter-select,.sort-select{background:#fafafa;border:1px solid #ddd;border-radius:8px;outline:none;padding:7px 10px;font-size:13px;transition:border .2s}.search-box:focus,.filter-select:focus,.sort-select:focus{border-color:#0f3460}.search-box{width:200px}.filter-group input[type=range]{accent-color:#0f3460;width:110px}.range-val{color:#0f3460;min-width:32px;font-size:13px;font-weight:600}.toggle-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:20px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .2s}.toggle-btn.active{color:#fff;background:#0f3460;border-color:#0f3460}.toggle-btn:hover{border-color:#0f3460}.results-bar{color:#888;max-width:1400px;margin:12px auto 4px;padding:0 40px;font-size:13px}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;max-width:1400px;margin:0 auto;padding:8px 32px 32px;display:grid}.card{background:#fff;border-radius:12px;flex-direction:column;transition:all .25s;display:flex;overflow:hidden;box-shadow:0 1px 6px #00000014}.card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.card-img{aspect-ratio:1;object-fit:cover;background:#f0f0f0;width:100%;display:block}.card-body{flex-direction:column;flex:1;gap:5px;padding:10px;display:flex}.card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:32px;font-size:12px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.comm-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.comm-badge{border-radius:10px;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.comm-total{color:#2e7d32;background:#e8f5e9}.comm-open{color:#1565c0;background:#e3f2fd}.comm-premium{color:#fff;background:linear-gradient(135deg,#ff6b6b,#ee5a24);font-size:10px}.badges{flex-wrap:wrap;gap:4px;display:flex}.badge{border-radius:10px;padding:2px 7px;font-size:10px;font-weight:600}.badge-free{color:#e65100;background:#fff3e0}.badge-global{color:#7b1fa2;background:#f3e5f5}.price{color:#1a1a2e;font-size:14px;font-weight:700}.meta-row{color:#888;justify-content:space-between;font-size:11px;display:flex}.shop-row{color:#666;border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;font-size:11px;display:flex}.shop-score{color:#f5a623;font-weight:600}.card-actions{gap:6px;padding:0 10px 10px;display:flex}.btn-showcase{cursor:pointer;border:none;border-radius:8px;flex:1;padding:7px;font-size:11px;font-weight:600;transition:all .2s}.btn-add{color:#1a1a2e;background:linear-gradient(135deg,#00f5a0,#00d9f5)}.btn-add:hover{opacity:.85;transform:scale(1.02)}.btn-copy{color:#555;background:#f0f0f0}.btn-copy:hover{background:#e0e0e0}.pagination-wrap{flex-wrap:wrap;justify-content:center;gap:6px;max-width:1400px;margin:0 auto;padding:16px 40px 40px;display:flex}.page-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:7px 13px;font-size:13px;transition:all .2s}.page-btn:hover{border-color:#0f3460}.page-btn.active{color:#fff;background:#0f3460;border-color:#0f3460}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-dots{color:#999;padding:7px 4px;font-size:13px}.no-results{text-align:center;color:#999;grid-column:1/-1;padding:60px 20px;font-size:16px}@media (width<=768px){.header{padding:14px 16px}.header-stats{display:none}.filters{padding:10px 16px;top:60px}.results-bar{padding:0 16px}.grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:8px 12px 24px}.pagination-wrap{padding:12px 16px 24px}.search-box{width:150px}}
