@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&display=swap');
:root{--bg:#06060b;--panel:#0b0c12;--accent:#b66dff;--neon:#7afcff;--magenta:#ff3dcb;--muted:#9aa0b1;--text:#e6eef8}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0;font-family:Inter,system-ui,Segoe UI,Arial;color:var(--text);line-height:1.45;font-weight:400;background:#000}

/* Force body black default while making all UI panels transparent so canvas shows through */
body{background:#000 !important}
body *{background:transparent !important}

/* Force UI elements transparent so canvas shows through (explicit) */
.container, .card, .filters, .filter, .searchbar input, .modal-panel, .link-row, .toast, .nav .admin-link, .card-actions .visit, .tag{background:transparent !important}
/* Force UI elements transparent and let clicks pass through to canvas behind them */
.container{max-width:1100px;margin:28px auto;padding:20px;position:relative;z-index:1;pointer-events:none;background:rgba(0,0,0,0.12);backdrop-filter:blur(24px);border-radius:24px;border:1px solid rgba(255,255,255,0.06)}
.container button, .container input, .container a{pointer-events:auto}

/* backdrop canvas */
.backdrop{position:fixed;inset:0;z-index:0;pointer-events:none}
.bg-canvas{position:fixed;inset:0;width:100vw;height:100vh;display:block;mix-blend-mode:normal;opacity:0.25;will-change:transform;pointer-events:none}
.fluid-canvas{position:fixed;inset:0;width:100vw;height:100vh;display:block;pointer-events:auto;z-index:0}
.matrix-canvas{position:fixed;inset:0;width:100vw;height:100vh;display:block;pointer-events:none;z-index:0}

/* subtle animated vignette overlay */
.backdrop::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;mix-blend-mode:overlay;opacity:0;/* vignette disabled for full transparency */animation: none}
@keyframes vignetteShift{0%{transform:translateY(0)}50%{transform:translateY(6px)}100%{transform:translateY(0)}}

/* debug overlay style */
#debugStatus{font-family:monospace;font-size:12px;color:#e6e9ff;background:transparent;padding:8px 10px;border-radius:8px;position:fixed;right:12px;top:12px;z-index:99999;box-shadow:none}
.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.brand .logo{font-family:'Merriweather',Georgia,serif;color:var(--accent);font-size:28px;font-weight:400}
.brand .subtitle{color:var(--muted);font-size:13px;font-weight:400}
.nav .admin-link{display:none !important;color:var(--muted);text-decoration:none;border:1px solid rgba(255,255,255,0.03);padding:8px 12px;border-radius:8px;background:transparent}
.searchbar{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.searchbar input{flex:1;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:var(--text)}
.filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding:12px;
  border-radius:12px;
  background: transparent; /* filters transparent */
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  overflow:auto;
  z-index:9999; /* force above other content */
  width:100%;
  min-height:44px; /* ensure visible */
  margin-top:8px;
}

.filter{
  padding:8px 14px;
  border-radius:999px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  border:1px solid rgba(255,255,255,0.08);
  font-weight:500;
  white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow: 0 6px 20px rgba(2,6,20,0.36);
}

.filter.active{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,0.12);
  box-shadow:none;
}

.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.card{background:linear-gradient(180deg,rgba(255,255,255,0.01),rgba(255,255,255,0.005));padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,0.02);box-shadow:0 8px 28px rgba(2,6,20,0.5)}
.card h3{margin:0 0 6px;color:#fff;font-size:16px;font-family:'Merriweather',Georgia,serif;font-weight:400}
.card p{margin:0;color:var(--muted);font-size:13px;font-weight:400}
.tag{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:8px;background:transparent;color:var(--muted);font-size:12px}
.meta-row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.tag.domain{background:transparent;border:1px solid rgba(255,255,255,0.03);padding:6px 10px;color:var(--muted);font-weight:500}
.empty{color:var(--muted);padding:20px;text-align:center}
.foot{margin-top:22px;color:var(--muted);text-align:center;font-size:13px}

.card-actions{margin-top:10px;display:flex;gap:8px}
.card-actions .visit{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:#fff;cursor:pointer}
.card-actions .visit:hover{transform:translateY(-2px)}

/* Layout fixes to prevent overlapping */
.header{position:relative;z-index:10}
.container{padding-top:12px}
.searchbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:relative;z-index:50}
.searchbar input{min-width:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;max-height:160px;overflow:auto;padding:12px;border-radius:12px;width:100%;}
.filter{flex:0 0 auto}
.filters::-webkit-scrollbar{height:8px}
.filters::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.06);border-radius:6px}
.bg-btn{margin-left:10px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;visibility:visible;z-index:10;box-shadow:0 8px 20px rgba(10,10,20,0.5)}

/* Ensure cards wrap content and never overflow */
.links{margin-top:8px;position:relative;z-index:0}
.card{min-height:88px;overflow:hidden;word-break:break-word}
.card h3{word-break:break-word;overflow-wrap:break-word;white-space:normal;margin:0 0 6px}
.card p{word-break:break-word;margin:0}

@media (max-width:640px){
  .searchbar{flex-direction:column;align-items:stretch}
  .header{flex-direction:column;align-items:flex-start}
  .filters{max-height:140px}
}

.license-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.72) !important;z-index:100000;padding:20px;pointer-events:auto !important}
.license-modal.hidden{display:none}
.license-panel{max-width:560px;width:100%;background:rgba(8,12,26,0.98) !important;border:1px solid rgba(255,255,255,0.12) !important;border-radius:22px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,0.5);color:#eef2ff;pointer-events:auto !important}
.license-panel h2{margin-top:0;font-size:24px;font-weight:400}
.license-panel p{margin:0 0 16px;color:#d8dfea;line-height:1.65}
.license-panel ul{margin:0 0 20px;padding-left:20px;color:#c7d3eb}
.license-panel ul li{margin-bottom:10px}
.license-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.license-link, .license-accept, .license-decline{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,0.18);font-weight:700;text-decoration:none;cursor:pointer;min-width:132px;min-height:48px;letter-spacing:0.02em;font-size:0.98rem;box-shadow:0 14px 32px rgba(0,0,0,0.18)}
.license-link{background:rgba(255,255,255,0.1);color:#eef2ff;border-color:rgba(255,255,255,0.2)}
.license-accept{background:linear-gradient(90deg,#6ee7ff,#b66dff);color:#ffffff !important;border-color:transparent;box-shadow:0 18px 40px rgba(64,240,255,0.18);opacity:1 !important;pointer-events:auto !important;text-transform:none}
.license-decline{background:rgba(255,255,255,0.14);color:#ffffff;border-color:rgba(255,255,255,0.3);}
.license-note{margin:0;font-size:13px;color:#a0a9c4}

body.license-pending .container,
body.license-pending .backdrop{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.license-pending .license-modal{
  visibility:visible !important;
  opacity:1 !important;
}

body.license-pending{
  overflow:hidden !important;
}

.license-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.88) !important;
  z-index:1000000;
  padding:20px;
  pointer-events:auto !important;
}
.license-panel{
  width:min(100%,640px);
  max-width:640px;
  background:rgba(12,14,24,0.98) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  border-radius:26px;
  padding:32px;
  box-shadow:0 36px 120px rgba(0,0,0,0.65);
  color:#eef2ff;
}
.license-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;}
.license-link, .license-accept, .license-decline{min-width:120px}

/* anchor/link styles to avoid browser default blue */
.card a{color:inherit;text-decoration:none}
.card a:hover{color:var(--accent);text-decoration:underline}
.card h3 a{color:inherit}


/* Prevent filters and search from overlapping and allow scroll */
.searchbar{flex-wrap:wrap}
.filters{max-height:160px;overflow:auto}
.filters::-webkit-scrollbar{height:8px}
.filters::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.06);border-radius:6px}

/* Ensure layout stacking and spacing */
.header{position:relative;z-index:2}
.searchbar{position:relative;z-index:1}
.links{margin-top:8px;position:relative;z-index:0}
.card{min-height:88px}

