:root{--primary:#00d9ff;--primary-dark:#0a1929;--primary-light:#132f4c;--accent:#ff6b00;--text-light:#e0e0e0;--text-muted:#a0a0a0;--border-color:rgba(0,217,255,0.3);--bg-dark:rgba(10,25,41,0.5);--bg-card:rgba(19,47,76,0.4)}
*:focus{outline:2px solid var(--primary)}
*{box-sizing:border-box}
/* Mobile-friendly touch targets */
@media (hover: none) and (pointer: coarse) {
  button, a, .btn, .listing, .menu-item { min-height: 44px; }
}
/* Custom scrollbar styling */
::-webkit-scrollbar{width:12px;height:12px}
@media (max-width:768px){::-webkit-scrollbar{width:8px;height:8px}}
::-webkit-scrollbar-track{background:rgba(10,25,41,0.8);border-radius:6px}
::-webkit-scrollbar-thumb{background:var(--primary);border-radius:6px;border:2px solid rgba(10,25,41,0.8)}
::-webkit-scrollbar-thumb:hover{background:#00b8d4}
/* Firefox scrollbar - Safari doesn't support scrollbar-* properties but uses ::-webkit- */
*{scrollbar-width:thin;scrollbar-color:var(--primary) rgba(10,25,41,0.8)}
body{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text-light);
	/* Gradient overlay + background image (relative path) */
	background-image: linear-gradient(180deg, rgba(10,25,41,0.6), rgba(10,25,41,0.9)), url('background.png');
	background-size: cover; /* apply to all layers */
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	min-height:100vh;margin:0;padding:0;line-height:1.5}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:0.5rem 1.25rem;background:linear-gradient(90deg,rgba(10,25,41,0.95),rgba(19,47,76,0.95));color:var(--text-light);border-bottom:2px solid var(--primary)}
@media (max-width:768px){.site-header{padding:0.5rem;flex-wrap:wrap;gap:0.5rem}}
.header-left{display:flex;align-items:center;gap:1rem}
@media (max-width:768px){.header-left{gap:0.5rem;flex:1}}
.site-header h1{margin:0;font-size:1.5rem;color:var(--primary);font-weight:bold}
@media (max-width:768px){.site-header h1{font-size:1.2rem}}
@media (max-width:480px){.site-header h1{font-size:1rem}}
.site-title{display:flex;align-items:center;gap:.5rem}
.site-logo{width:45px;height:45px;border-radius:4px;display:inline-block}
@media (max-width:768px){.site-logo{width:35px;height:35px}}
@media (max-width:480px){.site-logo{width:30px;height:30px}}
main{padding:1.25rem;max-width:900px;margin:0 auto}
@media (max-width:768px){main{padding:0.75rem}}
@media (max-width:480px){main{padding:0.5rem}}
#create-listing-area{transition:opacity 0.2s ease}
#create-listing-area.hidden{opacity:0;pointer-events:none}
#create-listing-area:not(.hidden){opacity:1}
.card{background:var(--bg-card);padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--border-color)}
label{display:block;margin:.5rem 0;color:var(--text-light)}
input,textarea{width:100%;padding:.5rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-dark);color:var(--text-light);font-family:inherit}
textarea{resize:vertical}
input:focus,textarea:focus{background:rgba(10,25,41,0.7);border-color:var(--primary)}
input:disabled,textarea:disabled{background:rgba(255,255,255,0.02);cursor:not-allowed;opacity:0.6}
.btn{padding:.35rem .6rem;border-radius:6px;border:none;font-weight:600;cursor:pointer;transition:background 0.2s,color 0.2s,transform 0.15s,box-shadow 0.2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media (max-width:768px){.btn{padding:0.5rem 0.8rem;font-size:0.95rem}}
.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.3)}
.btn:disabled{opacity:0.5;cursor:not-allowed}
.btn-primary{background:var(--primary);color:var(--primary-dark)}
.btn-primary:hover:not(:disabled){background:#00b8d4}
.btn-accent{background:var(--accent);color:white}
.btn-accent:hover:not(:disabled){background:#ff8533}
.btn-small{font-size:.9rem;padding:.35rem .5rem}
.btn-large{font-size:1.05rem;padding:.5rem 1.2rem;font-weight:700}
#listings{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;transition:opacity 0.2s ease}
@media (max-width:1200px){#listings{grid-template-columns:repeat(3,1fr);gap:10px}}
@media (max-width:900px){#listings{grid-template-columns:repeat(2,1fr);gap:10px}}
@media (max-width:600px){#listings{grid-template-columns:repeat(2,1fr);gap:8px}}
@media (max-width:400px){#listings{grid-template-columns:repeat(2,1fr);gap:6px}}
.listing{background:linear-gradient(135deg,rgba(19,47,76,0.6),rgba(10,25,41,0.8));padding:.75rem;border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column;position:relative;transition:border-color 0.2s;height:520px;overflow:visible}
.listing .pre-image{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}
.listing .pre-image .section-separator{margin-top:auto}
.listing .pre-image p{overflow:hidden;text-overflow:ellipsis}
.listing .pre-image .notes-text,.listing .pre-image .info-text{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.listing-footer{min-height:60px}
@media (max-width:768px){.listing{padding:0.6rem;height:480px}}
@media (max-width:480px){.listing{padding:0.5rem;height:420px;font-size:0.9rem}}
.listing:hover{border-color:var(--primary)}
.listing h3{margin:.25rem 0;color:var(--primary)}
.listing-content{flex:1;display:flex;flex-direction:column;overflow:hidden}
.tight{margin-top:0}
.no-gap{margin:0}
.elite-badge-corner{position:absolute;top:-8px;left:-8px;width:22px;height:22px;object-fit:contain;z-index:10;filter:drop-shadow(0 2px 6px rgba(255,215,0,0.6));animation:elite-glow 2s ease-in-out infinite}
@keyframes elite-glow{0%,100%{filter:drop-shadow(0 2px 6px rgba(255,215,0,0.6))}50%{filter:drop-shadow(0 2px 10px rgba(255,215,0,0.9))}}
.element-badge-corner{position:absolute;top:-8px;left:22px;width:22px;height:22px;object-fit:contain;z-index:10;filter:drop-shadow(0 2px 6px rgba(0,217,255,0.6));animation:element-glow 2s ease-in-out infinite}
@keyframes element-glow{0%,100%{filter:drop-shadow(0 2px 6px rgba(0,217,255,0.6))}50%{filter:drop-shadow(0 2px 12px rgba(0,217,255,1))}}
.title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.1rem;margin-top:.15rem}
.title-row h3{margin:0}
.element-icon-title{width:24px;height:24px;object-fit:contain}
.element-icon-title.element-energy{filter:drop-shadow(0 2px 4px rgba(255,255,0,0.6));animation:element-pulse-energy 2s ease-in-out infinite}
.element-icon-title.element-fire{filter:drop-shadow(0 2px 4px rgba(255,69,0,0.6));animation:element-pulse-fire 2s ease-in-out infinite}
.element-icon-title.element-ice{filter:drop-shadow(0 2px 4px rgba(0,191,255,0.6));animation:element-pulse-ice 2s ease-in-out infinite}
.element-icon-title.element-mana{filter:drop-shadow(0 2px 4px rgba(138,43,226,0.6));animation:element-pulse-mana 2s ease-in-out infinite}
.element-icon-title.element-nature{filter:drop-shadow(0 2px 4px rgba(34,139,34,0.6));animation:element-pulse-nature 2s ease-in-out infinite}
.element-icon-title.element-physical{filter:drop-shadow(0 2px 4px rgba(169,169,169,0.6));animation:element-pulse-physical 2s ease-in-out infinite}
@keyframes element-pulse-energy{0%,100%{filter:drop-shadow(0 2px 4px rgba(255,255,0,0.6))}50%{filter:drop-shadow(0 2px 8px rgba(255,255,0,0.9))}}
@keyframes element-pulse-fire{0%,100%{filter:drop-shadow(0 2px 4px rgba(255,69,0,0.6))}50%{filter:drop-shadow(0 2px 8px rgba(255,69,0,0.9))}}
@keyframes element-pulse-ice{0%,100%{filter:drop-shadow(0 2px 4px rgba(0,191,255,0.6))}50%{filter:drop-shadow(0 2px 8px rgba(0,191,255,0.9))}}
@keyframes element-pulse-mana{0%,100%{filter:drop-shadow(0 2px 4px rgba(138,43,226,0.6))}50%{filter:drop-shadow(0 2px 8px rgba(138,43,226,0.9))}}
@keyframes element-pulse-nature{0%,100%{filter:drop-shadow(0 2px 4px rgba(34,139,34,0.6))}50%{filter:drop-shadow(0 2px 8px rgba(34,139,34,0.9))}}
@keyframes element-pulse-physical{0%,100%{filter:drop-shadow(0 2px 4px rgba(169,169,169,0.6))}50%{filter:drop-shadow(0 2px 8px rgba(169,169,169,0.9))}}
.item-type-image{width:38px;height:38px;border-radius:6px;object-fit:contain;background:transparent;padding:4px;box-sizing:border-box;cursor:help}
.item-type-image[title]{position:relative}
.user-uploaded-image{max-width:85%;height:150px;border-radius:6px;margin:0;object-fit:contain;cursor:pointer}
.image-container{display:flex;justify-content:center;align-items:center;margin:6px 0;height:150px;min-height:150px;overflow:hidden;text-align:center;position:relative}
.shimmer{background:linear-gradient(90deg,rgba(30,58,86,0.4) 0%,rgba(60,100,140,0.55) 50%,rgba(30,58,86,0.4) 100%);background-size:200% 100%;animation:shimmerMove 1.2s linear infinite;will-change:transform}
@keyframes shimmerMove{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.listing-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--accent)}
.listing-time{font-size:.8rem;color:var(--primary)}
.hint{font-size:.85rem;color:var(--text-muted);margin-top:.05rem}
/* Landing section text color */
#landing .hint{color:var(--primary)}
.accent-text{color:var(--accent)}
/* Reduce gap between title and first hint (seller line) */
.listing-content > .hint:first-of-type{margin-top:.1rem}
/* Make seller name more readable */
.listing h3{margin:.1rem 0 .05rem}
.hint .seller-link{color:var(--accent);font-weight:700;text-decoration:none;font-size:.95rem}
.hint .seller-link:hover{color:#ff3333;text-decoration:none}
/* Seller label styling to match Seller's Notes color and slightly larger */
.seller-line .seller-label{color:var(--text-light);font-size:.95rem}
.listing-content p{font-size:.8rem;margin-top:.05rem;word-break:break-word;overflow-wrap:anywhere}
.listing h3{word-break:break-word;overflow-wrap:anywhere}
.hint .seller-link{word-break:break-word;overflow-wrap:anywhere}
small{color:var(--text-muted)}
.listing img{max-width:100%;height:auto;border-radius:6px;margin:6px 0}
.controls{display:flex;gap:6px}
.controls button{padding:.35rem .5rem;border-radius:6px;border:none;background:var(--accent);color:white;cursor:pointer;font-weight:600;transition:background 0.2s,transform 0.15s}
.controls button:hover{background:#ff8533;transform:translateY(-2px)}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:.25rem;margin-top:.25rem}
.price-group{display:flex;align-items:center;gap:.25rem;margin-left:auto}
.gold-icon{width:18px;height:18px;object-fit:contain}
.message{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;border-radius:8px;background:rgba(0,217,255,0.1);color:var(--primary);border:1px solid var(--border-color);animation:messageSlideIn 0.3s ease;box-shadow:0 4px 20px rgba(0,0,0,0.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:1rem;font-weight:600;text-align:center}
.message.error{background:rgba(255,107,0,0.15);border-color:rgba(255,107,0,0.5);color:var(--accent);box-shadow:0 4px 20px rgba(255,107,0,0.3)}
.message.info{background:rgba(0,217,255,0.15);border-color:rgba(0,217,255,0.5);color:var(--primary);box-shadow:0 4px 20px rgba(0,217,255,0.3)}
.message.success{background:rgba(76,175,80,0.15);border-color:rgba(76,175,80,0.5);color:#4caf50;box-shadow:0 4px 20px rgba(76,175,80,0.3)}
#site-message{position:fixed;top:80px;left:50%;transform:translateX(-50%);max-width:90%;width:auto;min-width:280px;z-index:9999;pointer-events:none}
#site-message.show{pointer-events:auto}
@keyframes messageSlideIn{from{transform:translate(-50%, -60%);opacity:0;will-change:transform,opacity}to{transform:translate(-50%, -50%);opacity:1}}
.item-type-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;cursor:pointer;transition:all 0.2s}
.item-type-card:hover{background:rgba(0,217,255,0.15);border-color:var(--primary);box-shadow:0 0 10px rgba(0,217,255,0.3);transform:translateY(-2px)}
.item-type-card img{width:100%;height:100px;object-fit:contain;margin-bottom:.5rem;border-radius:4px}
.item-type-card h4{margin:.25rem 0;color:var(--primary);font-size:.9rem}
.item-type-card p{margin:0;font-size:.75rem;color:var(--text-muted)}
.item-category-btn{padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-light);cursor:pointer;transition:all 0.2s}
.item-category-btn:hover{background:rgba(0,217,255,0.15);border-color:var(--primary)}
.item-category-btn.active{background:var(--primary);color:var(--primary-dark);border-color:var(--primary);font-weight:600}
.hamburger-menu{background:linear-gradient(135deg,rgba(10,25,41,0.95),rgba(19,47,76,0.95));border:1px solid var(--border-color);border-radius:6px;min-width:140px;box-shadow:0 2px 8px rgba(0,0,0,0.5)}
.menu-item{display:block;width:100%;padding:.6rem 1rem;border:none;background:transparent;color:var(--text-light);text-align:left;cursor:pointer;font-size:.95rem;transition:background 0.2s,color 0.2s;white-space:nowrap}
.menu-item:hover{background:rgba(0,217,255,0.2);color:var(--primary)}
.hamburger-wrap button{background:transparent;border:none;color:var(--primary);font-size:1.5rem;cursor:pointer;padding:.2rem .4rem;transition:transform 0.2s}
.hamburger-wrap button:hover{transform:scale(1.1)}
.hidden{display:none !important}

/* Inline field error + validation states */
.field-error{font-size:.7rem;color:#ff6b00;font-weight:600;margin-top:.2rem;display:none}
.field-error.show{display:block}
.input-invalid{border-color:#ff6b00 !important;box-shadow:0 0 0 1px rgba(255,107,0,0.4)}
.input-valid{border-color:#4caf50 !important;box-shadow:0 0 0 1px rgba(76,175,80,0.4)}
.avatar-wrap.preview-empty{background:rgba(255,255,255,0.05)}
#reg-avatar-preview-wrap.avatar-wrap{width:64px;height:64px}

/* Warning badge on listings */
.warning-badge-corner{position:absolute;top:48px;left:-8px;width:22px;height:22px;background:#ff9800;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;z-index:10;filter:drop-shadow(0 2px 6px rgba(255,152,0,0.6));animation:warning-pulse 2s ease-in-out infinite;cursor:help}
@keyframes warning-pulse{0%,100%{filter:drop-shadow(0 2px 6px rgba(255,152,0,0.6))}50%{filter:drop-shadow(0 2px 10px rgba(255,152,0,0.9))}}

/* Warnings list */
.warnings-list{max-height:60vh;overflow:auto;border:1px solid var(--border-color);border-radius:8px;padding:.5rem;margin:.5rem 0}
.warning-item{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin-bottom:.5rem}
.warning-item.unread{border-color:var(--accent);background:rgba(255,107,0,0.05)}
.warning-item:last-child{margin-bottom:0}
.warning-item strong{color:var(--primary)}
.warning-item .warning-type{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700;margin-right:.5rem}
.warning-type.deleted{background:rgba(255,107,0,0.15);color:var(--accent);border:1px solid rgba(255,107,0,0.35)}
.warning-type.warned{background:rgba(255,152,0,0.15);color:#ff9800;border:1px solid rgba(255,152,0,0.35)}
.warning-item .hint{margin-top:.25rem}

#item-image-preview {
  max-width: 100%;
  max-height: 400px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 1rem auto;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 217, 255, 0.2);
}

#item-image-preview.hidden {
  display: none !important;
}

/* Enhanced navbar styles */
nav{display:flex;align-items:center;gap:.75rem}
@media (max-width:768px){nav{gap:0.4rem;flex-wrap:wrap}}
.nav-user-section{display:flex;align-items:center;gap:.5rem}
@media (max-width:768px){.nav-user-section{gap:0.3rem}#user-greeting{font-size:0.85rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media (max-width:480px){#user-greeting{display:none}}
.navbar-avatar-wrap{width:40px;height:40px;border-radius:50%;overflow:hidden;background:rgba(0,217,255,0.1);border:2px solid var(--primary);display:flex;align-items:center;justify-content:center}
@media (max-width:768px){.navbar-avatar-wrap{width:35px;height:35px}}
@media (max-width:480px){.navbar-avatar-wrap{width:32px;height:32px}}
.navbar-avatar-img{width:100%;height:100%;object-fit:cover}
.nav-controls{display:flex;align-items:center;gap:.5rem}
.hamburger-wrap{position:relative;display:inline-block}
.hamburger-menu{position:absolute;right:0;top:calc(100% + 6px); z-index:1100}

/* API Status Indicator */
.api-status{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:6px;background:rgba(10,25,41,0.5);border:1px solid var(--border-color);cursor:help;transition:all 0.3s}
@media (max-width:768px){.api-status{padding:0.3rem 0.5rem;gap:0.3rem}}
@media (max-width:480px){.api-status-text{display:none}}
.api-status-dot{width:8px;height:8px;border-radius:50%;transition:all 0.3s;box-shadow:0 0 4px currentColor}
.api-status-text{font-size:.8rem;font-weight:600;white-space:nowrap}
.api-status.connected .api-status-dot{background:#4caf50;animation:pulse-green 2s ease-in-out infinite}
.api-status.connected .api-status-text{color:#4caf50}
.api-status.connected{border-color:rgba(76,175,80,0.4)}
.api-status.disconnected .api-status-dot{background:#f44336;animation:pulse-red 2s ease-in-out infinite}
.api-status.disconnected .api-status-text{color:#f44336}
.api-status.disconnected{border-color:rgba(244,67,54,0.4)}
.api-status.checking .api-status-dot{background:var(--primary);animation:pulse-blue 1s ease-in-out infinite}
.api-status.checking .api-status-text{color:var(--primary)}
@keyframes pulse-green{0%,100%{opacity:1}50%{opacity:0.6}}
@keyframes pulse-red{0%,100%{opacity:1}50%{opacity:0.5}}
@keyframes pulse-blue{0%,100%{opacity:1}50%{opacity:0.7}}

/* Search filters enhancement */
.search-filters-card{background:linear-gradient(135deg,rgba(19,47,76,0.6),rgba(10,25,41,0.7));border:1px solid rgba(0,217,255,0.4);box-shadow:0 2px 8px rgba(0,0,0,0.2)}
.search-field label{font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--accent)}
.search-select{appearance:none;background:var(--bg-dark) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%2300d9ff" d="M6 9L1 4h10z"/></svg>') no-repeat calc(100% - .5rem) center;padding:0 2rem;cursor:pointer;font-size:.95rem;border:1px solid var(--border-color);color:var(--text-light);border-radius:6px;text-align:center;text-align-last:center}
.search-select:hover{border-color:var(--primary);background-color:rgba(10,25,41,0.7)}
.search-select option{text-align:center}
/* Make selects match input height and scheme */
.search-field input,.search-field select{height:38px;background:var(--bg-dark);color:var(--text-light);border:1px solid var(--border-color);border-radius:6px}
.search-field input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(0,217,255,0.25)}
.search-field input::placeholder{color:var(--text-light);opacity:1}
#search-name{min-width:280px}
@media (max-width:768px){#search-name{min-width:unset;width:100%}}
/* Active seller filter chip */
.filter-chip{display:inline-flex;align-items:center;gap:.5rem;background:rgba(0,217,255,0.12);border:1px solid var(--border-color);color:var(--primary);padding:.35rem .6rem;border-radius:999px;font-weight:600;margin:.25rem 0 .6rem}
.chip-clear{background:transparent;border:none;color:var(--accent);font-weight:800;cursor:pointer;font-size:1rem;line-height:1}
.chip-clear:hover{color:#ff8533;transform:scale(1.1)}
/* Item type modal layout */
#item-type-categories{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}
#item-type-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;max-height:60vh;overflow:auto}
@media (max-width:1024px){#item-type-gallery{grid-template-columns:repeat(5,1fr)}}
@media (max-width:768px){#item-type-gallery{grid-template-columns:repeat(4,1fr);gap:0.4rem}}
@media (max-width:600px){#item-type-gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:400px){#item-type-gallery{grid-template-columns:repeat(2,1fr)}}

/* Profile modal enhancements */
.profile-modal-title{color:var(--primary);font-size:1.5rem;margin-top:0;margin-bottom:1rem;font-weight:700}
.profile-avatar-section{margin:1rem 0}
.avatar-upload-row{display:flex;align-items:center;gap:1rem}
.btn-change-avatar{padding:.5rem 1rem;font-size:.9rem;white-space:nowrap}

/* Delete button - red variant */
.btn-delete{background:#dc3545;color:white}
.btn-delete:hover:not(:disabled){background:#c82333;transform:translateY(-2px)}

/* Create listing - price spinner */
.price-spinner{display:flex;align-items:center;gap:.5rem;max-width:260px}
.price-spinner .btn{padding:.4rem .6rem}
.price-spinner input{flex:1;text-align:center}

/* Status selection (Elite & Element) */
.status-selection{display:flex;gap:1rem;margin:.5rem 0}
.status-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-dark);transition:all 0.2s}
.status-label:hover{background:rgba(0,217,255,0.1);border-color:var(--primary)}
.status-label input[type="checkbox"]{cursor:pointer;width:18px;height:18px}
.status-label span{font-weight:600;color:var(--text-light)}
.status-preview-icon{width:24px;height:24px;object-fit:contain}
.status-icon{width:28px;height:28px;object-fit:contain;margin-left:.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3))}
.status-badges{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}

/* File input button */
.file-input{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:2px dashed var(--border-color);border-radius:8px;transition:all 0.2s}
.file-input.drag-over{border-color:var(--primary);background:rgba(0,217,255,0.1)}

/* Remove spinner arrows inside price number input */
#item-price::-webkit-outer-spin-button,
#item-price::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0 }
#item-price{ -moz-appearance:textfield; appearance:textfield }

footer{text-align:center;padding:1rem;color:var(--text-muted);font-size:.85rem}
@media (max-width:480px){footer{font-size:0.75rem;padding:0.75rem}}

/* Social logo for Discord and Wiki links */
.social-logo {
  width: 32px;
  height: 32px;
  vertical-align: middle;
  margin-right: 8px;
}

.discord-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
  margin-top: 24px;
}
@media (max-width: 600px) {
  .discord-links {
    gap: 24px;
    margin-top: 18px;
  }
}

/* Help modal content */
.help-content h3 { margin:.85rem 0 .35rem; color: var(--primary); font-size:1rem; }
.help-content p, .help-content li { font-size:.85rem; line-height:1.4; }
.help-content ul { margin:.25rem 0 .75rem .75rem; padding:0; }
.help-content ul li { list-style:disc; margin-left:1rem; }

/* Humorous nub banner */
.nub-banner {
  background: linear-gradient(180deg, rgba(10,25,41,0.6), rgba(10,25,41,0.85)), url('chopper.png') center/100% 140% no-repeat;
  padding: 2.5rem 1.25rem;
  min-height: 340px;
  border: 2px solid var(--primary);
  border-radius: 12px;
  box-shadow: 0 0 12px rgba(0,217,255,0.4), 0 0 28px rgba(0,217,255,0.15);
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:680px;
  text-align:center;
  margin:2rem auto;
  position:relative;
  overflow:hidden;
}
.nub-banner::after {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 50%, rgba(0,217,255,0.25), rgba(0,217,255,0) 60%);
  pointer-events:none;
  mix-blend-mode:screen;
}
.nub-text {
  font-size:2.4rem;
  font-weight:800;
  letter-spacing:1px;
  color: var(--primary);
  text-shadow: 0 0 6px rgba(0,217,255,0.9), 0 0 12px rgba(0,217,255,0.7), 0 0 22px rgba(0,217,255,0.5);
  animation: nubPulse 3.5s ease-in-out infinite;
  filter: drop-shadow(0 0 6px rgba(0,217,255,0.4));
}
@media (max-width:600px){
  .nub-text { font-size:1.8rem; }
  .nub-banner { padding:1.75rem 1rem; margin:1.25rem auto; }
}
@keyframes nubPulse {
  0%,100% { text-shadow:0 0 6px rgba(0,217,255,0.9),0 0 12px rgba(0,217,255,0.7),0 0 22px rgba(0,217,255,0.5); }
  50% { text-shadow:0 0 10px rgba(0,217,255,1),0 0 22px rgba(0,217,255,0.9),0 0 38px rgba(0,217,255,0.6); }
}

/* profile / popup styles */
#profile-modal .btn, #user-popup .btn{margin-left:0}
#profile-avatar-preview, #popup-avatar{display:block}
#profile-avatar-preview[hidden], #popup-avatar[hidden]{display:none}
#profile-bio{background:rgba(255,255,255,0.08)}
#popup-bio{background:rgba(255,255,255,0.12);padding:0.5rem;border-radius:6px;border:1px solid var(--border-color)}

/* modal system */
.modal { position:fixed; inset:0; background:rgba(0,0,0,.85); z-index:9999; display:flex; align-items:center; justify-content:center; }
.modal.show{display:flex}
.modal-inner{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;max-width:90vw}
@media (max-width:768px){.modal-inner{padding:0.75rem;max-width:95vw;max-height:90vh;overflow-y:auto}}
@media (max-width:480px){.modal-inner{padding:0.5rem;border-radius:4px}}
.modal-inner.dark,.modal-inner-dark{background:linear-gradient(135deg,rgba(19,47,76,0.85),rgba(10,25,41,0.9))}
.modal-inner.small{width:360px}
@media (max-width:768px){.modal-inner.small{width:90vw;max-width:400px}}
@media (max-width:480px){.modal-inner.small{width:95vw}}
.avatar-wrap{width:64px;height:64px;border-radius:8px;overflow:hidden;background:rgba(255,255,255,0.03);display:flex;align-items:center;justify-content:center}
.avatar-wrap.small{width:48px;height:48px}
.avatar-img{width:100%;height:100%;object-fit:cover}
.popup-row{display:flex;gap:.75rem;align-items:center}
#popup-displayname{margin:0;line-height:1.2}
#popup-discord{margin-top:.15rem;font-size:.9rem;cursor:pointer;transition:color 0.2s}
#popup-discord:hover{color:var(--primary)}
.popup-about-heading{color:var(--primary);font-size:.95rem;margin:.75rem 0 .35rem;font-weight:600}
.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}
.search-grid{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;justify-content:center}
@media (max-width:768px){.search-grid{gap:0.5rem;flex-direction:column;align-items:stretch}}
.search-grid .search-field{flex:1 1 220px}
@media (max-width:768px){.search-grid .search-field{flex:1 1 100%;min-width:unset}}
.search-field{display:flex;align-items:center;gap:.5rem}
@media (max-width:768px){.search-field{flex-direction:column;align-items:stretch;gap:0.3rem}}
.search-field:first-child{flex:1}
@media (max-width:768px){.search-field:first-child{flex:1 1 100%}}
.search-field label{margin:0;white-space:nowrap;font-weight:600}
@media (max-width:768px){.search-field label{font-size:0.9rem}}
.search-field select,.search-field input{min-width:130px}
.search-grid .search-field:first-child{margin-right:auto}
.search-grid .search-field:nth-child(2),
.search-grid .search-field:nth-child(3){margin-left:0}
.full-width{width:100%}

/* Section separator above image */
.section-separator{border-top:1px solid var(--accent);margin:.6rem 0}
.image-bottom-separator{position:relative;left:auto;right:auto;bottom:auto;border-top:1px solid var(--accent);margin-top:.75rem;width:100%;z-index:0}
.detail-bottom-separator{border-top:1px solid var(--accent);margin:.75rem 0 0 0;position:relative;z-index:0}
.listed-overlay{position:absolute;right:.5rem;bottom:.35rem;background:rgba(10,25,41,0.6);padding:.2rem .4rem;border-radius:4px;border:1px solid var(--border-color);font-size:.9em;color:var(--text-light)}

/* Detail modal badge positioning */
#listing-detail-modal .elite-badge-detail,
#listing-detail-modal .element-badge-detail{position:absolute;right:1rem;width:32px;height:32px;object-fit:contain;z-index:1000}
#listing-detail-modal .elite-badge-detail{top:1rem;filter:drop-shadow(0 2px 8px rgba(255,215,0,0.8));animation:elite-glow 2s ease-in-out infinite}
#listing-detail-modal .element-badge-detail{top:3.5rem;filter:drop-shadow(0 2px 8px rgba(0,217,255,0.8));animation:element-glow 2s ease-in-out infinite}

/* Slightly larger font across listing detail modal */
#listing-detail-modal .modal-inner{font-size:calc(1rem + 2px);max-height:80vh;overflow:auto;position:relative}
#listing-detail-modal .image-container{height:auto;min-height:320px;position:relative;z-index:1;margin-bottom:-8px}
#listing-detail-modal img{display:block;margin:0 auto}
@media (max-width:600px){#listing-detail-modal .image-container{min-height:240px}#listing-detail-modal .modal-inner{font-size:calc(.95rem + 2px)}}
.image-container.no-image{color:var(--text-muted);font-style:italic}

/* Admin / Moderation panel */
.admin-users table{width:100%;border-collapse:collapse;margin-top:.5rem}
.admin-users th,.admin-users td{border:1px solid var(--border-color);padding:.5rem;text-align:left}
.admin-users th{background:rgba(0,217,255,0.08);color:var(--primary)}
.admin-users{max-height:60vh;overflow:auto;border:1px solid var(--border-color);border-radius:8px;padding:.25rem}
.admin-users thead th{position:sticky;top:0;z-index:1}
.role-badges{display:flex;gap:.35rem;flex-wrap:wrap}
.role-badge{display:inline-block;padding:.15rem .4rem;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid var(--border-color)}
.role-admin{background:rgba(255,107,0,0.15);color:var(--accent);border-color:rgba(255,107,0,0.35)}
.role-mod{background:rgba(0,217,255,0.12);color:var(--primary);border-color:var(--border-color)}
.status-badges{display:flex;gap:.35rem;flex-wrap:wrap}
.badge-banned{background:rgba(255,107,0,0.15);color:var(--accent);border:1px solid rgba(255,107,0,0.35);padding:.15rem .4rem;border-radius:999px;font-size:.8rem;font-weight:700}
.admin-actions{display:flex;gap:.35rem;flex-wrap:wrap}
.admin-actions .btn{padding:.3rem .5rem;font-size:.85rem}
.admin-controls{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.admin-controls label{margin:0;color:var(--text-light)}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin:.5rem 0}
.admin-pagination .btn{min-width:64px}

/* Items Sold & Mod History */
.items-sold-list,.mod-history-list{max-height:60vh;overflow:auto;border:1px solid var(--border-color);border-radius:8px;padding:.5rem;margin:.5rem 0}
.history-item{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin-bottom:.5rem}
.history-item:last-child{margin-bottom:0}
.history-item strong{color:var(--primary)}
.history-item .hint{margin-top:.25rem}
.mod-action{color:var(--accent);font-weight:600}

/* Collapsible filters */
.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.filter-content{overflow:hidden;transition:max-height 0.3s ease,opacity 0.3s ease}
.filter-content.collapsed{max-height:0;opacity:0;margin:0;padding:0}

/* Image Modal */
#image-modal{background:rgba(0,0,0,0.9)}
#image-modal{z-index:10020}
#confirm-modal{z-index:10010}
#warning-modal{z-index:10005}
/* Ensure price row sits at bottom of variable-height pre-image area */
.pre-image{display:flex;flex-direction:column}
.pre-image .price-row{margin-top:auto}
.image-modal-content{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center;padding:3rem}
.image-modal-close{position:absolute;top:0;right:0;background:var(--accent);color:white;border:none;font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;z-index:1001;font-weight:700;line-height:1;transition:background 0.2s,transform 0.2s}
.image-modal-close:hover{background:#ff8533;transform:scale(1.1)}
#modal-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,0.5)}

/* Listings Loader */
.listings-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;min-height:300px}
.loader-spinner{width:50px;height:50px;border:4px solid rgba(0,217,255,0.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
.listings-loader p{color:var(--primary);margin-top:1rem;font-size:1rem;font-weight:600}

/* Site Statistics */
.stats-card{background:linear-gradient(135deg,rgba(19,47,76,0.6),rgba(10,25,41,0.7));border:1px solid rgba(0,217,255,0.4);box-shadow:0 2px 8px rgba(0,0,0,0.2)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:768px){.stats-grid{gap:1rem}}
@media (max-width:600px){.stats-grid{grid-template-columns:repeat(3,1fr);gap:0.5rem}}
.stat-item{text-align:center;padding:0.5rem}
.stat-value{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:0.25rem}
@media (max-width:768px){.stat-value{font-size:1.5rem}}
@media (max-width:480px){.stat-value{font-size:1.25rem}}
.stat-label{font-size:0.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px}
@media (max-width:480px){.stat-label{font-size:0.75rem}}

/* Admin table responsive */
@media (max-width:768px){
  .admin-users table{font-size:0.85rem}
  .admin-users th,.admin-users td{padding:0.35rem}
  .admin-actions{flex-direction:column;gap:0.25rem}
  .admin-actions .btn{width:100%}
}

/* Image container responsive */
@media (max-width:768px){
  .image-container{height:120px;min-height:120px}
  .user-uploaded-image{height:120px}
}
@media (max-width:480px){
  .image-container{height:100px;min-height:100px}
  .user-uploaded-image{height:100px;max-width:90%}
}

/* Price spinner responsive */
@media (max-width:480px){
  .price-spinner{max-width:100%}
}

/* Form actions responsive */
@media (max-width:480px){
  .form-actions{flex-direction:column;gap:0.5rem}
  .form-actions .btn{width:100%}
  #create-listing-area .btn-large{font-size:1rem;padding:0.6rem 1rem}
  #create-listing-area label{font-size:0.95rem}
  #create-listing-area input,#create-listing-area textarea,#create-listing-area select{font-size:16px}
}

/* Status selection responsive */
@media (max-width:480px){
  .status-selection{flex-direction:column;gap:0.5rem}
  .status-label{width:100%}
}

/* Item type categories responsive */
@media (max-width:768px){
  #item-type-categories{gap:0.35rem}
  .item-category-btn{padding:0.35rem 0.6rem;font-size:0.85rem}
}

/* Controls buttons responsive */
@media (max-width:480px){
  .controls{flex-direction:column;width:100%}
  .controls button{width:100%}
}

/* Hamburger menu responsive */
@media (max-width:480px){
  .hamburger-menu{min-width:160px;right:-10px}
  .menu-item{padding:0.7rem 0.8rem;font-size:0.9rem}
}

/* Image modal responsive */
@media (max-width:768px){
  .image-modal-content{padding:2rem 1rem}
  #modal-image{max-width:95vw;max-height:85vh}
  .image-modal-close{width:2rem;height:2rem;font-size:1.25rem}
}

footer{text-align:center;padding:1rem;color:var(--text-muted);font-size:.85rem}
@media (max-width:480px){footer{font-size:0.75rem;padding:0.75rem}}