:root{
  --bg:#07080b;
  --panel:rgba(16,19,28,.62);
  --panel-border:rgba(255,255,255,.08);
  --card:rgba(20,24,33,.72);
  --card-hover:rgba(26,31,44,.78);
  --text:#e8ebf1;
  --muted:#9aa3b2;
  --cyan:#00ffff;
  --magenta:#ff00ff;
  --radius:18px;
  --shadow:0 14px 40px rgba(0,0,0,.45);
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}

.bg{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
}

.blob{
  position:absolute;
  width:560px;
  height:560px;
  filter:blur(86px);
  opacity:.55;
}

.blob.cyan{
  background:radial-gradient(circle,rgba(0,255,255,.9),transparent 65%);
  left:-180px;
  top:-180px;
}

.blob.magenta{
  background:radial-gradient(circle,rgba(255,0,255,.85),transparent 65%);
  right:-220px;
  top:-170px;
}

.blob.mix{
  background:radial-gradient(circle,rgba(122,162,255,.55),transparent 65%);
  left:14%;
  bottom:-300px;
}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:40px 22px 64px;
}

header{
  margin-bottom:18px;
  display:flex;
  justify-content:flex-end;
}

.search{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(16,19,28,.55);
  backdrop-filter:blur(10px);
  box-shadow:0 12px 34px rgba(0,0,0,.35);
  width:min(560px, 100%);
}

.search .badge{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:rgba(7,8,11,.95);
  padding:5px 9px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(0,255,255,.92), rgba(255,0,255,.92));
  flex:0 0 auto;
}

.search input{
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  color:var(--text);
  font-size:14px;
}

.search button{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(20,24,33,.55);
  color:var(--text);
  padding:8px 10px;
  border-radius:12px;
  cursor:pointer;
  transition:.2s ease;
  font-weight:700;
}

.search button:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.18);
}

.stack{
  display:grid;
  gap:16px;
  margin-top:16px;
}

.panel{
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:24px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
  overflow:hidden;
}

.panelhead{
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.paneltitle{
  font-weight:800;
  letter-spacing:-.01em;
}

.section{
  padding:14px 16px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:10px;
}

a.card{
  display:block;
  background:var(--card);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:12px;
  text-decoration:none;
  color:inherit;
  transition:.22s ease;
}

a.card:hover{
  transform:translateY(-3px);
  background:var(--card-hover);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 18px 46px rgba(0,0,0,.45);
}

.row{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,rgba(0,255,255,.22),rgba(255,0,255,.18));
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
  flex:0 0 auto;
}

.favicon{
  width:20px;
  height:20px;
  border-radius:6px;
}

.emoji{
  font-size:18px;
}

.text{
  min-width:0;
}

.title{
  margin:0 0 3px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.desc{
  margin:0;
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

footer{
  margin-top:18px;
  font-size:12px;
  color:var(--muted);
  opacity:.7;
  display:flex;
  justify-content:flex-end;
}

.linkSearch {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 18px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(16,19,28,.55);
  color: white;
  font-size: 16px;
  outline: none;
}

.linkSearch:focus {
  border-color: rgba(0,255,255,.65);
}
